一年多前,我发布了一个关于splitting a build into multiple outputs的问题并跟随recommended solution。现在我需要建立一点点。该解决方案包含三个产生可部署位的项目,然后包含一些其他项目,这些项目包含可部署项目(业务逻辑和数据访问类型的东西)共有的代码。在三个可部署项目中,其中两个是Windows服务,另一个是wcf webservice。我可以在本地构建所有这些,但是当我在构建服务器上构建它时,事情变得有点奇怪。
当我在本地构建我的webservice项目时,我得到一个像这样的文件夹结构:
-Published Websites
Service file
Config file
-Bin
Service DLL’s
这是webservice的理想输出,但我不想在本地构建。当我最初在构建服务器上构建时,所有内容都像这样混杂在一起:
-Published Websites
Service file
Config file
-Bin
Service DLL’s
All windows service exe's
All DLL's needed by the service exe's
我遵循了本文开头链接的文章中的建议。简而言之,我对构建模板进行了更改,并在项目文件中调整了输出路径。这导致我的构建输出如下所示:
Build Folder
-WIN SERVICE 1
EXE’s
DLL’s
-WIN SERVICE 2
EXE’s
DLL’s
-WEBSERVICE
DLL’s
这里的问题是webservice的文件夹结构不完整(svc和config文件以及bin文件夹都丢失了)。我需要这个结构,因为我不直接部署到Web服务器,我们使用暂存位置。我宁愿不将Web服务拆分成自己的解决方案,因为它在逻辑上与Windows服务和解决方案中的所有常用代码相关。
因此,最大的问题是如何设置可以输出多个目录的构建,但其中一个目录是Web服务,它包含适当的文件和目录结构?
答案 0 :(得分:0)
我能够提出的唯一解决方案是为此解决方案提供两种不同的构建。一个构建Web服务,另一个构建Windows服务。这使我可以将解决方案保持在一起。我们只需要记住在公共代码更改时运行这两个版本。
欢迎对此解决方案提出任何建议/改进。