我在一个解决方案中有两个项目。我想做的是将一个项目作为主项目(项目 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
。我们通常将 Debug 配置设置为 ..\Output\Debug\
,发布配置设置为 ..\Output\Release\
。这会将您的两个项目放在相同的输出目录中,并且它们将位于适当的调试/发布目录中。
这样,您就可以在本地目录上下文中引用其他.exe。
编辑:对两个项目执行此操作,您的输出文件夹将是 $(SOLUTION_DIR)\输出\调试\
然后,您只需调用:
Process.Start("Project2.exe");
关于c# - 如何运行同一解决方案中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24829154/