msbuild无法发布的项目

时间:2014-08-22 18:34:46

标签: msbuild visual-studio-2013

我有一个.vbproj,它是一个VB.NET Web应用程序项目。我可以构建包含该项目的解决方案,然后右键单击该项目并在本地发布。 VS 2013专业版更新3没有任何问题。

我正在尝试构建此解决方案,然后使用Jenkins CI中的msbuild插件在VS之外发布项目。

项目没有发布,因为它说它正在跳过不可发布的项目。

命令及其输出如下:

执行命令

 cmd.exe /C C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
 /t:Publish /p:VisualStudioVersion=12.0 /p:OutDir=C:/temp/eric
 StarWebPortal/StarWebPortal/StarWebPortal.vbproj && exit
 %%ERRORLEVEL%% from C:\Tools\Jenkins\jobs\STAR-dev_POC\workspace
  

[workspace] $ cmd.exe / C.   C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe / t:发布   /p:VisualStudioVersion=12.0 / p:OutDir = C:/ temp / eric   StarWebPortal / StarWebPortal / StarWebPortal.vbproj&&出口   %% ERRORLEVEL %% Microsoft(R)Build Engine版本4.0.30319.18408   [Microsoft .NET Framework,版本4.0.30319.18444]版权所有(C)   微软公司。保留所有权利。

     

Build build 8/22/2014 11:46:51 AM。目标" MvcBuildViews"上市   在" C:\ Program Files中的BeforeTargets属性中   (86)\的MSBuild \微软\ VisualStudio的\ V12.0 \网络\ Microsoft.Web.Publishing.targets   (840131)"在项目中不存在,将被忽略。项目   " C:\工具\詹金斯\作业\ STAR-dev_POC \工作空间\ StarWebPortal \ StarWebPortal \ StarWebPortal.vbproj"   在节点1上(发布目标)。   _DeploymentUnpublishable:跳过不可发布的项目。完成建筑项目   " C:\工具\詹金斯\作业\ STAR-dev_POC \工作空间\ StarWebPortal \ StarWebPortal \ StarWebPortal.vbproj"   (发布目标)。

知道为什么它在VS内而不是从msbuild命令行工作?

2 个答案:

答案 0 :(得分:6)

您必须将Jenkins配置为向MsBuild.exe传递另外两个参数/p:DeployOnBuild=true/p:PublishProfile=your_publish_profile.pubxml

该命令应该类似于msbuild your_vb_project.vbproj /p:DeployOnBuild=true /p:PublishProfile=publish_profile.pubxml只要与publish_profile.pubxml位于同一目录下,您就不需要指定vbproj的路径。

答案 1 :(得分:0)

从Visual Studio 2013开始,MSBuild现在是.NET Framework的一个独立组件,包含在VS的安装中。它也可用作构建服务器的单独download。看起来你正在使用" old" v4.0 MSBuild路径。您需要使用类似C:\Program Files(x86)\MSBuild\12.0\bin的新MSBuild路径。您需要配置Jenkins MSBuild插件才能使用此路径。