我們有一個Common.Targets,其中包括所有項目,包括.ccproj。它具有:
<Import Project=".\AzurePackages.Targets" Condition=" '$(CloudToolsVersion)' != '' And '$(BuildingInsideVisualStudio)' != 'true'"/>
AzurePackages.Targets(略編輯):
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- Create Azure packages -->
<PackageName>$(AssemblyName).cspkg</PackageName>
<AzurePackageDir>$(OutDir)Packages\$(AssemblyName).Azure\</AzurePackageDir>
</PropertyGroup>
<Target Name="CopyPackageToOutDir" AfterTargets="Build" DependsOnTargets="CorePublish" Condition="'$(InRecursiveCall)' == ''">
<Copy SourceFiles="@(PublishServicePackage)" DestinationFolder="$(AzurePackageDir)" />
</Target>
至於配置,我們希望讓每個包附近多個.cscfg,所以我們決定哪一個部署時採取。我們有一個解決方案,但對於單個問題來說太複雜了。