msbuild不可发布项目

msbuild不可发布项目,msbuild,visual-studio-2013,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:Pu

我有一个.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
[工作区]$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)生成引擎版本4.0.30319.18408 [Microsoft.NET Framework,版本4.0.30319.18444]版权所有(C) 微软公司。版权所有

建造开始于2014年8月22日上午11:46:51。列出了目标“MvcBuildViews” 在“C:\Program Files”的BeforeTargets属性中 (x86)\MSBuild\Microsoft\VisualStudio\v12.0\Web\Microsoft.Web.Publishing.targets (840131)“在项目中不存在,将被忽略。项目 “C:\Tools\Jenkins\jobs\STAR-dev\u POC\workspace\StarWebPortal\StarWebPortal\StarWebPortal.vbproj” 在节点1上(发布目标)。 _DeploymentUnpublishable:跳过不可发布的项目。完成建筑工程 “C:\Tools\Jenkins\jobs\STAR-dev\u POC\workspace\StarWebPortal\StarWebPortal\StarWebPortal.vbproj” (发布目标)


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

从Visual Studio 2013开始,msbuild现在是.NET Framework的一个独立组件,包含在VS的安装中。它还可以作为单独的生成服务器使用。看起来您正在使用“旧的”v4.0 MSBuild路径。您需要使用新的MSBuild路径,该路径类似于
C:\ProgramFiles(x86)\MSBuild\12.0\bin
。您需要配置Jenkins MSBuild插件以使用此路径。

您必须配置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
只要它与您的
vbproj
位于同一目录下,您就不需要指定发布profile.pubxml的路径。我已经添加了参数并成功地运行了发布步骤有一次,但我现在无法“重新发布”。在此之前,我在msbuild步骤中生成解决方案,然后在解决方案中仅在web应用程序项目上运行msbuild作为第二步,因此我的jenkins作业正在执行两个msbuild步骤,最后一步是“发布”vbproj。我已经尝试了无数次,以确定为什么它发表了一个,现在不会再发表。以下是参数:/p:VisualStudioVersion=12.0/p:DeployOnBuild=true/p:PublishProfile=local.pubxml。另外,当我从命令行运行以下命令时,我会非常感激任何帮助:msbuild StarWebPortal.vbproj/p:DeployOnBuild=true/p:PublishProfile=local.pubxml似乎我得到的只是生成输出,但是,从一次似乎要发布的运行中,我可以看到一个目标被称为:CopyAllFilesToSingleFolderForPackage:创建目录“obj\Debug\Package\PackageTmp”。将包/发布的所有文件复制到下面的临时位置:obj\Debug\package\PackageTmp.peops:上面列出的msbuild.exe参数正常工作。我遇到的问题是在测试时修改了.vbproj文件,并且注释掉了一个关键部分。