TargetProfile给出无默认服务配置错误

时间:2013-01-01 16:11:12

标签: azure msbuild tfsbuild azure-cloud-services

我正在TFS 2012构建定义中构建Azure云服务应用程序。使用默认的配置,一切正常。但是,当我在TargetProfile参数中设置MSBuild属性时,我收到以下错误。服务配置文件存在于项目中,我可以在项目属性中进行选择。

为了让构建识别非默认配置,我还需要做些什么吗?

MSBuild Arguments

  

/ t:发布/ p:PublishDir = \ buildserver \ builddrops \ LocA \ / p:TargetProfile = CloudLocA

错误消息

  

C:\ Program Files(x86)\ MSBuild \ Microsoft \ VisualStudio \ v11.0 \ Windows Azure Tools \ 1.8 \ Microsoft.WindowsAzure.targets(353):找不到默认服务配置“ServiceConfiguration.cscfg”该项目。

3 个答案:

答案 0 :(得分:5)

我弄清楚了,结果与TargetProfile属性无关。我将构建定义设置为仅清理工作区输出。当我查看构建服务器上的sources文件夹时,我意识到它没有删除其他服务配置文件,因此无法找到我在TargetProfile属性中指定的内容。我将干净的工作区设置更改为all,现在一切正常。

答案 1 :(得分:4)

您是否尝试将TargetProfile绑定到$(Configuration)?在我的上一个项目中,我使用以下设置配置了Azure项目,它运行正常:

 ...
 <PropertyGroup>
  <TargetProfile Condition="'$(TargetProfile)'==''">$(Configuration)</TargetProfile>
 </PropertyGroup>
 <!-- Items for the project -->
 <ItemGroup>
  <ServiceDefinition Include="ServiceDefinition.csdef">
   <SubType>Designer</SubType>
  </ServiceDefinition>
  <None Include="ServiceDefinition.Debug.csdef">
   <SubType>Designer</SubType>
    <DependentUpon>ServiceDefinition.csdef</DependentUpon>
  </None>
  <None Include="ServiceDefinition.Demo.csdef">
   <SubType>Designer</SubType>
   <DependentUpon>ServiceDefinition.csdef</DependentUpon>
  </None>
  <None Include="ServiceDefinition.Release.csdef">
    <SubType>Designer</SubType>
    <DependentUpon>ServiceDefinition.csdef</DependentUpon>
  </None>
  <ServiceConfiguration Include="ServiceConfiguration.Debug.cscfg">
   <SubType>Designer</SubType>
  </ServiceConfiguration>
  <ServiceConfiguration Include="ServiceConfiguration.Demo.cscfg">
   <SubType>Designer</SubType>
  </ServiceConfiguration>
  <ServiceConfiguration Include="ServiceConfiguration.Release.cscfg">
   <SubType>Designer</SubType>
  </ServiceConfiguration>
 </ItemGroup>

答案 2 :(得分:2)

最好的方法是更改​​项目ccproj中的服务配置前缀,添加yourprojectname.configurationname 点是救生员。

<ServiceConfigurationPrefix>yourproject.ServiceConfiguration</ServiceConfigurationPrefix>

将这些添加到项目组:

<ServiceDefinition Include="yourproject.ServiceDefinition.csdef" />
<ServiceConfiguration Include="yourproject.ServiceConfiguration.cscfg" />

确保已从其驻留的文件夹中重命名了cscfg文件。

重新加载