MSBuild不使用PublishProfile复制文件

Gle*_*tle 6 msbuild jenkins visual-studio-2013 orchardcms-1.8

我有一个Visual Studio 2013解决方案,其中包含完整的Orchard源代码.当我在Visual Studio中的"Orchard.Web"项目中使用"发布..."时,它正确地将站点发布到我已配置到.PubXml我使用的文件中的文件系统目标.

但是,如果我使用Jenkins构建此站点,则不会将文件复制到目标.我已经创建了一个由Jenkins使用的单独的PubXml文件.

在我的Jenkins工作中,我有两个感兴趣的构建步骤.第一个使用src\Orchard.sln带有命令行参数的文件/p:Configuration=Release.这运行正确,并构建整个解决方案.

紧接着的第二个Build步骤使用Build File src\Orchard.Web\Orchard.Web.csproj和这些命令行参数:

  • / P:DeployOnBuild =真
  • /p:PublishProfile="D:\workspace\Site\trunk\src\Orchard.Web\Properties\PublishProfiles\Jenkins.pubxml"
  • /p:VisualStudioVersion=12.0
  • / P:配置=推出
  • / P:平台= AnyCPU
  • / V:最小
  • / NOLOGO
  • / P:WarningLevel = 1

有了这个,构建和部署似乎工作 - 但没有.以下是构建输出中的一些行:

Copying all files to temporary location below for package/publish:
obj\Release\Package\PackageTmp.
Auto ConnectionString Transformed obj\Release\Package\PackageTmp\Shapes\Scripts\Web.config into obj\Release\CSAutoParameterize\transformed\Shapes\Scripts\Web.config.
(... about 200 more "Auto ConnectionString..." lines...)
Finished: SUCCESS
Run Code Online (Sandbox Code Playgroud)

无实际将文件复制到PUBXML文件中定义的目标的位置.

相比之下,在Visual Studio中,输出看起来相似,但只转换了4个配置文件,并包含许多"发布文件夹x"行:

(...)
Transformed Modules\SH.GoogleAnalytics\web.config using ....
Copying all files to temporary location below for package/publish:
obj\Release\Package\PackageTmp.
Publishing folder /...
Publishing folder bin...
(etc.)
Run Code Online (Sandbox Code Playgroud)

(我在Jenkins服务器上安装了最新的Windows Azure SDK for .NET.)

小智 1

我有同样的麻烦,这对我有用:

/t:Rebuild
/p:DeployOnBuild=true
/p:PublishProfile=Jenkins_Publish
/p:Configuration=Release
Run Code Online (Sandbox Code Playgroud)

不要使用 /p:VisualStudioVersion=xxx