MsBuild找不到发布配置文件

Jim*_*eon 12 msbuild teamcity visual-studio visual-studio-2012

我有一个VS 2012解决方案,其中包含两个项目(WCF C#Service App和一个VB Web UI),我正在尝试通过TeamCity/MsBuild命令行进行部署.每个项目都包含一个发布配置文件 - 让我们称之为"测试配置文件" - 在使用IDE执行时可以正常工作.

但是,当作为两个连续的构建步骤执行时,C#项目部署正常,但VB项目失败并出现以下错误:

[09:27:05] [ValidatePublishProfileSettings] GetPublishingLocalizedString [09:27:05] [GetPublishingLocalizedString] C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets( 4435,5):PublishProfile的值设置为'Test Profile',期望在'C:\ BuildAgent\work\61493e349d61af8c\Yms.Web.Ui__profiles\Test Profile.pubxml'中找到该文件,但无法找到.

每个构建步骤都设置为使用MsBuild v4.0,Run Platform x64,ToolsVersion 4.0.命令行参数是:

/ P:Configuration ="Test Profile"
/p:DeployOnBuild = true/p:PublishProfile ="Test Profile"
/p:VisualStudioVersion=11.0/p:Password = james2

当针对解决方案而不是项目作为单个构建步骤运行时,我得到相同的错误,除了错误消息中的"Ui_profiles"被替换为"PublishProfiles".

任何帮助都非常感谢,这让我感到沮丧

Mat*_*ard 22

我有完全相同的问题,但对于VS2010 Web应用程序项目(使用Azure SDK 1.8更新来更新发布选项).似乎MS提供的Web发布目标无法正确评估发布配置文件的路径.

我最终做了两件关键的事情:

  • 在构建服务器上安装Azure SDK(1.8)(否则忽略发布配置文件)
  • 强制Teamcity构建配置中的"PublishProfileRootFolder"参数(否则,它使用MS Web发布目标提供的错误路径)

我的MSBuild命令参数如下所示:

/ P:DeployOnBuild = true
/ P:PublishProfile = [我的个人资料的名称(没有文件扩展名)]
/P:PublishProfileRootFolder="%teamcity.build.checkoutDir%\Source\Web Application\My Project\PublishProfiles"(你的位置)存储发布配置文件)
/ P:AllowUntrustedCertificate = true
/P:Password=%env.DomainPassword%

希望这可以帮助同一条船上的人!

  • / p:PublishProfileRootFolder为我修复了它,但是没有值的引号. (3认同)
  • YEEES!哦,亲爱的神啊!......两周......"在构建服务器上安装Azure SDK(1.8)(否则忽略发布配置文件)"我使用MSBuild 12将构建服务器升级到2008 R2,这已停止工作.其他所有解决方案都是"停止使用发布配置文件,使用命令行属性",但这很糟糕,我希望它们在源代码管理下.感谢上帝为+ MattWoodward ...... (3认同)