2017-11-16 35 views
2

.NET Core 2.0を初めて使用しているので、私には間違いがあります。process.startを使用してcmdを使用して.NETコアアプリケーション(.dll)を実行する

私はクロスプラットフォームでなければならない.NETコア2.0アプリケーションを持っているため、アプリケーションは.dllコンソールアプリケーションであり、すべてのプラットフォームで正常に動作します。私は必要なプロセスの場合には、それ自体を複製し、同じ方法でそれが

> $ dotnet process.dll 

私のコードがあると呼ばれていたこと、ウォッチドッグのようなものを実装しようとしている

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(); 

問題がこのコードを実行すると、次の例外が発生します。

未処理の例外:System.IO.F ileNotFoundException:ファイルまたはアセンブリ 'System.Runtime、バージョン= 4.2.0.0、Culture = neutral、PublicKeyToken = sometoken'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

コードからドットネットを壊すことについての言及が見つかりません。これが可能であってもわかりません。

可能ですか? .NETコアプロセスはそれ自体を複製できますか?

おかげ

答えて

4

あなたにもそれがコンソールに直接今働い

+0

感謝をdotnet process.dllを呼び出すのと同じ環境で実行されていることを確認するためpath\release\PublishOutput\にWORKINGDIRECTORYを設定する必要がありそうです。 – yntnm

関連する問題