gpt4 book ai didi

c# - 如果 .NET Core 应用程序是通过 dotnet cli 启动的,如何在运行时检查

转载 作者:行者123 更新时间:2023-11-30 22:57:03 25 4
gpt4 key购买 nike

我有一个运行不同测试器应用程序的测试运行器应用程序。取决于运行器应用程序是通过 dotnet CLI 命令(例如 >dotnet runner.dll -t tester1)启动还是通过简单运行已发布的 启动的情况。 exe 文件(例如 >runner.exe -t tester1),我想为测试应用程序可执行文件构建不同的路径。

如何更好地检查这个?

这就是我将如何使用它(这是一个 POC 应用程序,我在这里只需要那 2 个案例):

public TesterProcess(bool runViaDotnetCli)
{
TesterInfo = new T();
if (runViaDotnetCli)
{
Process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "dotnet",
// TesterInfo.ExecutableFileName is something like "tester1.dll" here
ArgumentList = {TesterInfo.ExecutableFileName, "--data", "something"},
UseShellExecute = false, CreateNoWindow = false
}
};
}
else
{
Process = new Process
{
StartInfo = new ProcessStartInfo
{
// TesterInfo.ExecutableFileName is something like "tester1.exe" here
FileName = TesterInfo.ExecutableFileName,
ArgumentList = {"--data", "something"},
UseShellExecute = false, CreateNoWindow = false
}
};
}
}

最佳答案

一个选择是使用 Process.GetCurrentProcess获取当前进程,然后使用其 ProcessName属性:

if (Process.GetCurrentProcess().ProcessName == "dotnet")
{
...
}

关于c# - 如果 .NET Core 应用程序是通过 dotnet cli 启动的,如何在运行时检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53876640/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com