ynt*_*tnm 13 .net c# msdn .net-core
我是.NET Core 2.0的新手,所以我可能做错了,如果是这样,请告诉我.
我有一个应该是跨平台的.NET核心2.0应用程序,因此该应用程序是一个.dll控制台应用程序,它在所有平台上都可以正常工作.
我正在尝试实现一种看门狗,如果必要的过程会复制自己,并以同样的方式被调用
> $ dotnet process.dll
Run Code Online (Sandbox Code Playgroud)
我的代码是:
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();
Run Code Online (Sandbox Code Playgroud)
问题是,当进程运行此代码时,我得到以下异常
未处理的异常:System.IO.FileNotFoundException:无法加载文件或程序集'System.Runtime,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = sometoken'或其依赖项之一.该系统找不到指定的文件.
我在代码中找不到任何破坏dotnet的提法,即使这可能,我也不知道?
可能吗?.NET核心流程能够复制自己吗?
谢谢
Jue*_*sch 12
您似乎还需要将WorkingDirectory设置path\release\PublishOutput\为确保它在与dotnet process.dll在控制台中直接调用相同的环境中运行
| 归档时间: |
|
| 查看次数: |
8926 次 |
| 最近记录: |