我只是尝试在服务器上实现项目的自动构建,我使用devenv在jenkins上构建vdproj项目。当我在本地vm中使用devenv命令行时,一切都很好。 项目正在使用VS2017构建并使用2017开发。
但是当我在服务器上使用相同的命令行时,事情变得奇怪了
devenv c:\ jenkins \ workspace \ ABC \ ABC.sln / Rebuild Release / Project WebInstaller \ WebInstaller.vdproj / ProjectConfig Release
当我在服务器上运行它时,它在验证vdproj项目时失败,错误消息显示:
------开始对项目进行预构建验证' WebInstaller' ------
警告:所有自定义对话框必须位于“安装文件夹”之前。 对话框。
错误:无法找到项目输出组和内容文件的输出 网络(主动)'。组,其配置或 其项目可能已从解决方案中删除。
错误:无法找到项目输出组的输出'主输出 来自Web(Active)'。组,其配置, 或者其项目可能已从解决方案中删除。
------项目的预构建验证' WebInstaller'完成------
只是不知道为什么会这样,我从jenkins下载相同的工作区并构建本地,它运行正常。
我发现在构建解决方案时,Web项目始终无法构建,这可能是一条线索。
devenv / Rebuild Release / Project Web \ Web.csproj c:\ jenkins \ workspace \ ABC \ ABC.sln
在服务器上运行此消息后,该消息显示没有构建:
Microsoft Visual Studio 2017版本15.0.27004.2002。
版权所有(C)Microsoft Corp.保留所有权利。
==========重建全部:0成功,0失败,0跳过==========
它不为Web Project构建任何内容。
有没有人遇到同样的问题或有任何想法?
答案 0 :(得分:1)
我们的项目在Visual Studio 2015中遇到了同样的问题。
构建服务器:Windows 10 Pro,构建1607。 CI代理:CruiseControl.NET。 VS:使用VS Installer项目扩展的Visual Studio Pro,Update 3。 IIS:未安装。
在使用CC.NET中的任务构建时,包含Assembly项目,WinForms项目,Web项目和安装项目的解决方案文件中出现的问题。从CI服务器(以及所有开发人员计算机)上的IDE内部构建时,项目必定会构建。
对“诊断”构建日志的检查未提供有关为何跳过此项目的原因的信息。
[Devenv(而不是MSBuild)是构建安装项目所必需的。我们没有没有安装项目的混合解决方案,因此不清楚使用MSBuild任务是否会显示此问题。]
在对此进行了很多挫折并确定使用新创建的各种类型的空项目构建的测试解决方案能够正确构建之后,我们对解决方案和项目文件进行了比较。
漫长而痛苦的故事,在网络项目中将<UseIIS>
标记设置为“True”似乎解决了我们环境的问题。
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
<WebProjectProperties>
<UseIIS>True</UseIIS>
目前还不清楚为什么这对我们有用。
当然,我们的文件被检入源控件,此标记为“False”(开发人员通常使用IISExpress,不,将<UseIISExpress>
标记设置为'True'没有帮助),因此自动化更改这个元素成为CI服务器的另一个步骤。