【问题标题】:VS2012 publish profiles breaking TeamCityVS2012 发布破坏 TeamCity 的配置文件
【发布时间】:2013-12-18 15:33:32
【问题描述】:

我已经通过 VS2012 中的发布 GUI 删除了一些旧的旧发布配置文件(包括名为“包”的配置文件)。当我签入代码并通过 TeamCity 运行构建时,我收到以下错误。

Rebuild MSBuild 
trunk\SomeService\SomeService.csproj 
ValidatePublishProfileSettings 
GetPublishingLocalizedString 
C:\Program Files     (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4253, 5): The value     for PublishProfile is set to 'Package', expected to find the file at     'E:\BuildAgent2\work\6ec5bd58ee82179a\trunk\SomeService\Properties\PublishProfiles\Package.pubxml'     but it could not be found.
GetPublishingLocalizedString 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4260, 4): PublishProfile(Package) is set. But the $(WebPublishMethod) does not have a valid value.  Current     Value is "". 
Error 
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web\Microsoft.Web.Publishing.targets(4267, 5): Target ValidatePublishProfileSettings Failed 
Project trunk\SomeService\SomeServiceService.csproj failed. 
trunk\SomeService\SomeServiceTests.csproj 
Project trunk\SomeServiceTests\SomeServiceTests.csproj failed. 
Project trunk\SomeService.sln failed. 

出于某种原因,我似乎无法理解对这个旧 Web 部署发布配置文件('Package.pubxml')的引用。我在 .proj 文件中看不到任何明显的内容。

构建是香草 VS 在 TeamCity 中构建

Runner: Visual Studio Step name: build
Solution File: trunk/SomeService.sln
Visual Studio: VS 2012
Targets: Rebuild
Configuration: Release
Command line params: 'emtpy'

关于如何清除这个旧的发布配置文件有什么建议吗?或者为什么当我只是做一个简单的构建时,它甚至被首先调用?当我通过命令提示符在本地调用 MSBuild 时,一切正常。

非常感谢任何帮助

【问题讨论】:

  • 仍然坚持这一点。任何建议表示赞赏。 VS 不想放弃这个旧的发布配置文件。尝试了一些事情,解决方案干净,在 proj 文件中查找引用,删除所有发布配置文件并重新开始..

标签: visual-studio-2012 msbuild web-deployment teamcity-8.0 publish-profiles


【解决方案1】:

尝试将您的运行器类型更改为 MSBuild。您的“构建文件路径”将是您的解决方案路径并适当设置所有其他字段。

【讨论】:

  • 谢谢阿达什。一些好的建议。我在该设置上运行了另一个构建。不记得我是否更改此构建以匹配。星期一会看看。希望我忘记将构建运行器更改为 MSBuild。
  • 不高兴。使用 MSBuild 运行器时出现相同的错误。我相信这就是 VS 跑步者在幕后使用的东西。奇怪的是,我已将所有文件移动到具有新项目文件和干净发布配置文件的新解决方案中,但仍然出现错误。为什么它不会忘记这个旧的发布配置文件?很奇怪。
  • 尝试在 teamcity 中创建一个新项目,然后在那里创建一个构建配置。它将分配一个新的 GUID,并在构建框上有一个新的路径。
  • 感谢 Adarsh 的建议。在 TC 中尝试了一个新项目,但仍然没有乐趣。我什至将文件复制到一个新的 VS 解决方案中,并且构建仍然使用这个旧配置文件。如果在 TC 端缓存了某些东西,那将是有意义的。
【解决方案2】:

原来我之前设置了一些系统参数,其中强制使用旧的发布配置文件发布!

system.DeployOnBuild    true
system.PublishProfile   package

Adarsh 感谢您的帮助。您创建一个新项目的建议是合理的。似乎参数是在根级别设置的,所以仍然被拾取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-05
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多