2017-11-16 4 views
2

Ich bin neu in .NET Core 2.0, also könnte ich das alles falsch machen, wenn das so ist, lass es mich wissen.Ausführen einer .NET Core App (.dll) mit cmd unter Verwendung von process.start

Ich habe eine .NET Core 2.0 App, die Cross-Plattform sein sollte, daher ist die App eine .dll-Konsole-Anwendung, und es funktioniert gut auf allen Plattformen.

Ich versuche Art Kontrollinstanz zu implementieren, dass selbst im Falle notwendiger Prozess duplizieren, und durch die gleiche Art und Weise wurde

> $ dotnet process.dll 

Mein Code genannt ist:

var process = new Process 
{ 
    StartInfo = new ProcessStartInfo 
    { 
     FileName = "dotnet", 
     Arguments = "path\release\PublishOutput\proces.dll" 
     UseShellExecute = true, 
     RedirectStandardOutput = false, 
     RedirectStandardError = false, 
     CreateNoWindow = true 
    } 

}; 

process.Start(); 

Das Problem ist, dass wenn der Prozess diesen Code ausführt, bekomme ich die folgende Ausnahme

Unbehandelte Ausnahme: System.IO.F ileNotFoundException: Datei oder Assembly konnte nicht geladen werden 'System.Runtime, Version = 4.2.0.0, Culture = neutral, PublicKeyToken = someoken' oder eine seiner Abhängigkeiten. Die angegebene Datei wurde vom System nicht gefunden.

Ich finde keine Erwähnung von ruining dotnet aus Code, und ich weiß nicht, auch wenn das möglich ist?

Ist es möglich? Kann der .NET-Kernprozess sich selbst duplizieren?

Dank

Antwort

4

Es müssen Sie scheint auch die Working zu path\release\PublishOutput\ gesetzt sicherzustellen, dass es als Aufruf dotnet process.dll direkt in der Konsole

+0

Dank arbeiten nun in der gleichen Umgebung ausgeführt wird. – yntnm

Verwandte Themen