我在64位Windows 10 Pro上运行的Visual Studio 2013 Community Edition中有一个解决方案,其中包含8个项目,其中两个是Windows服务,其余的是Windows窗体应用程序或网站。在过去几个月里,我一直在成功使用此解决方案。通常,启动项目设置为WinForms项目中的一个或另一个,并且它完全按照您的预期工作。
我们公司使用Team Foundation Server。今天我不得不将我的TFS文件夹移动到其他位置。这一切都运行良好(最终),除了现在,当我将启动项目设置为WinForms项目之一并开始调试(完全与我一直相同)时,它尝试(不成功)依次启动每个Windows服务,在最终启动正确的“启动”项目之前。设置为启动项目的项目在解决方案资源管理器中以粗体显示。此外,其中一个错误的服务出现在解决方案资源管理器中所需的启动项目之前,其中之一就在之后。
我在网上搜索了一些提示,发现并尝试了很多东西:
如果我将Startup项目更改为其他WinForms应用程序之一,那么这是在两个服务无法启动后启动的项目。如果设置为“当前选择”,则在两个服务无法启动后启动该项目。
我很难过。我还没有尝试过任何建议吗?
感谢。
丹
答案 0 :(得分:0)
检查WinForm应用程序的项目文件。他们可以保持硬编码到旧位置的服务的启动路径。查找两个属性PreBuildEvent和PostBuildEvent或两个目标BeforeBuild和AfterBuild。可以从“项目属性”对话框中编辑这两个属性,但是为了编辑这两个目标,需要在文本编辑器中打开项目文件。
<PropertyGroup>
<PostBuildEvent>....</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<PreBuildEvent>....</PreBuildEvent>
</PropertyGroup>
<Target Name="BeforeBuild">
...
</Target>
<Target Name="AfterBuild">
...
</Target>
路径应该是相对的,以便它们不依赖于每个开发人员将它们带到特定目录。
答案 1 :(得分:0)
找到它。对于两个Windows服务项目,有一个名为“调试时始终启动”的项目属性。将此设置为False可以解决问题。