运行 .NET 核心应用程序 (.dll) 使用 process.start 使用 cmd
Running a .NET core app (.dll) with cmd by using process.start
我是 .NET Core 2.0 的新手,所以我可能做错了,如果是这样请告诉我。
我有一个 .NET core 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();
问题是,当进程运行这段代码时,出现以下异常
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=sometoken' or one of its dependencies. The system cannot find the file specified.
我在代码中找不到任何关于破坏 dotnet 的提及,我不知道这是否可能?
可能吗? .NET 核心进程是否能够自我复制?
谢谢
看来您还需要将 WorkingDirectory 设置为 path\release\PublishOutput\
以确保它在与直接在控制台中调用 dotnet process.dll
相同的环境中 运行
我是 .NET Core 2.0 的新手,所以我可能做错了,如果是这样请告诉我。
我有一个 .NET core 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();
问题是,当进程运行这段代码时,出现以下异常
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime, Version=4.2.0.0, Culture=neutral, PublicKeyToken=sometoken' or one of its dependencies. The system cannot find the file specified.
我在代码中找不到任何关于破坏 dotnet 的提及,我不知道这是否可能?
可能吗? .NET 核心进程是否能够自我复制?
谢谢
看来您还需要将 WorkingDirectory 设置为 path\release\PublishOutput\
以确保它在与直接在控制台中调用 dotnet process.dll
相同的环境中 运行