Visual studio 2010 为Azure项目设置TargetProfile

Visual studio 2010 为Azure项目设置TargetProfile,visual-studio-2010,azure,teamcity-7.0,Visual Studio 2010,Azure,Teamcity 7.0,我在开发机器上运行TeamCity时遇到以下错误: [ResolveServiceConfiguration] WATMessage [16:02:05][WATMessage] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.7\Microsoft.WindowsAzure.targets(354, 5): No default service configuration "Se

我在开发机器上运行TeamCity时遇到以下错误:

[ResolveServiceConfiguration] WATMessage
[16:02:05][WATMessage] C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Windows Azure Tools\1.7\Microsoft.WindowsAzure.targets(354, 5): No default service configuration "ServiceConfiguration.cscfg" could be found in the project.
[16:02:05][Xxx.Azure.Production\Xxx.Azure.Production.ccproj] Project Xxx.Azure.Production\Xxx.Azure.Production.ccproj failed.
同样的解决方案也可以在VS.NET中构建

我想我需要做的是为每个Azure项目设置
TargetProfile
(有不止一个抱怨),以覆盖
Cloud
的默认值,但我不知道在哪里执行此操作


那么如何设置Azure项目的目标配置文件呢?

您是否尝试过在命令行中设置目标配置文件

/p:TargetProfile=MyProfile

给定名为“ServiceConfiguration.Production.cscfg”的Azure服务配置文件:

  • 在TeamCity项目构建配置中,转至构建参数(步骤7)
  • 添加名为“system.TargetProfile”且值为“Production”的系统属性

  • 此模式适用于ServiceConfiguration.[your profile].cscfg.

    格式的任何命名配置。为了解决此问题,我使用定义中设置的
    .cscfg
    为每个Azure项目创建了
    ServiceConfiguration.Cloud.cscfg

    ,我重命名了ServiceConfiguration.Cloud.csfg文件,由于构建代理将首先查找该文件,因为默认的TargetProfile是“Cloud”,因此我必须在同一位置重新创建ServiceConfiguration.Cloud.csfg文件,然后进入.ccproj文件,并在
    节点下添加这一行:

    <ServiceConfiguration Include="ServiceConfiguration.Cloud.csfg" />
    
    
    

    然后我重建了,问题就解决了

    为了解决这个问题,我使用定义中设置的.cscfg为每个Azure项目创建了ServiceConfiguration.Cloud.cscfg。你是说一切都在Visual Studio中工作,但在第三方工具TeamCity中不工作?如果是Windows Azure问题,请提供更多信息。我认为这是VS和TeamCity使用.sln文件构建解决方案的不同之处。在VS中,它似乎选择了每个.ccproj使用哪个.cscfg。在TeamCity中,它使用默认值(云)。我需要了解VS.NET构建和TeamCity构建(在同一台机器上)之间的区别,特别是在选择正确的.cscfg时。我想我可以将TargetProfile指定为MSBuild的参数,但是我不再使用.sln了。我不熟悉TeamCity。但是由于VS运行良好,我建议您继续使用VS。让我们看看其他人是否可以对TeamCity发表评论。这仍然是开放的吗?是否有任何答复无助于解决此问题?如果已解决,请接受回答并关闭问题,如果未解决,请澄清当前问题。由于我有一个生成多个配置文件的Azure包的单一生成配置,我只是将此参数添加到TeamCity生成配置中的各个VS生成步骤中。如果我将其作为TeamCity“系统”变量输入,我将仅限于为每个构建配置构建一个概要文件包。这也可以与输入到构建配置的参数一起使用,它不需要是系统变量。我在尝试从powershell脚本调用msbuild时遇到了相同的问题,这为我解决了这个问题。如果配置是
    ServiceConfiguration.Production.cscfg
    ,那么您的目标配置文件应该是
    /p:TargetProfile=Production
    ,我认为:这应该是答案。