我们有一个所有项目都包含的 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,所以我们在部署时决定取哪个。我们有一个解决方案,但对于一个问题来说太复杂了。