如何在同一解决方案中运行项目?
本文关键字:运行 项目 解决方案 | 更新日期: 2023-09-27 18:13:26
我在一个解决方案中有两个项目。我想做的是有一个项目作为主项目(项目1),并时不时地启动另一个项目(项目2)。我想让项目1连续运行,每分钟,我想让项目2启动,运行,然后关闭。
以下是我到目前为止所做的尝试:
if (CurrentTime.Minute % 2 == 1 && CurrentTime.Second == 30 && CurrentTime.Millisecond < 5)
{
try
{
string ThisDir = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName + "''Project2''bin''Debug''Project2.exe";
Process.Start(ThisDir);
}
catch
{
}
}
问题是,如果我想在发布版中运行它,这不起作用。
另一个注意事项是,因为我不希望它总是运行,所以我不想在解决方案属性中将其设置为启动项目。是否有更好的方法来启动另一个项目,在相同的解决方案?
我们过去做的是Properties
-> Build Tab
-> Output path
。我们通常将其设置为调试配置的..'Output'Debug'
,并将其设置为发布配置的..'Output'Release'
。这将把您的两个项目放在相同的输出目录中,并且它们将在适当的Debug/Release目录中。
这样,您可以在本地目录上下文中引用另一个。exe。
编辑:对两个项目都这样做,你的输出文件夹将是$ (SOLUTION_DIR) ' '输出调试'
然后,只需调用:
Process.Start("Project2.exe");
我真的想不出一个"漂亮"的方法来做这件事。我猜如果你想要一个快速而肮脏的解决方案,你可以使用预处理器指令来确定路径。就像
#if DEBUG
string ThisDir = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName + "''Project2''bin''Debug''Project2.exe";
#else
string ThisDir = Directory.GetParent(System.IO.Directory.GetCurrentDirectory()).Parent.Parent.FullName + "''Project2''bin''Release''Project2.exe";
#endif
我不太明白你为什么要那样做。但我最近才知道,你可以同时开始多个项目。
。按F5,启动项目开始运行。
现在右键单击次要项目,选择Debug->Start New Instance,它也将与启动项目并排运行。