在Visual Studio 2013中,将两个项目设置为同时启动是很容易的,因为它们是两个进程。
但要部署,我需要有一个进程(A)启动另一个进程(B)。然后当A退出时,它需要停止B。
我看到System.Diagnostics.Process类和示例。 http://msdn.microsoft.com/en-us/library/vstudio/system.diagnostics.process
但不确定(1)如何知道找到B的路径。 (2)在A中放置代码停止B。
更多详情:
A是一个针对.Net 4.5.1的64位WinForms应用程序。 (用VB编写,但显示C#的答案同样有用。)
B是针对.Net 3.5的32位混合模式DLL的.Net包装器。包装来源是我的; DLL没有源代码。 (它是不再支持的第三方库,没有64位等效。)(混合模式,最初是2.0,如果尝试使用比.Net 3.5更新的目标,它会抱怨。)
通过命名管道进行沟通。
它是客户端(A)/服务器(B)的情况,但只有一个客户端:(B)仅作为(A)的一部分存在。 (B)之所以是分开的,因为(A)需要是64位而(B)是混合模式32位(最初是.Net 2.0),没有可用的源,也没有供应商支持来重建它。
*更新*
重新"(2)在A中放置代码停止B" - 我想通了,因为它是一个WinForms,我自定义Close来覆盖默认窗口Close方法。
所以我现在所缺少的是了解为B提供的路径。我有一个解决方案,其中包含两个项目。每个项目都在子文件夹中。是否有一种简单的方法可以让(B)将其exe复制到(A)的bin文件夹中?或者其他一些定位(B)的exe的方法?
答案 0 :(得分:0)
一个简单的方法来实现这两个项目' .exe文件在同一个地方(这样第二个exe的路径非常简单):在每个项目中,在项目属性中,在编译选项下,从" bin"更改输出目录(或路径)。到" .. \ bin"。由于这两个项目是一个解决方案的子文件夹,因此产生的" bin"文件夹位于其父文件夹中 - .exes最终都在父母" bin"文件夹中。