9

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

我需要做些什么来让构建识别非默认配置吗?

MSBuild 参数

/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”。

4

3 回答 3

5

我想通了,它最终与TargetProfile财产无关。我将构建定义设置为仅清理工作区输出。当我查看构建服务器上的源文件夹时,我意识到它没有拉下额外的服务配置文件,因此它找不到我在TargetProfile属性中指定的内容。我将干净的工作区设置更改为全部,现在一切正常。

于 2013-01-02T03:19:29.337 回答
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>
于 2013-01-01T16:45:59.340 回答
2

最好的办法是在你的项目的 ccproj 中更改服务配置前缀,添加 yourprojectname.configurationname 点是救命稻草。

<ServiceConfigurationPrefix>yourproject.ServiceConfiguration</ServiceConfigurationPrefix>

在项目组中添加这些:

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

确保您已从其所在文件夹重命名您的 cscfg 文件。

重新加载

于 2018-08-30T06:35:37.193 回答