我有一个类似的问题,我需要提供几个不同的建设。我发现这个项目只接受一步计算文件来发布。因此,由于步骤中的代码是相似的,而区别仅仅是一行(表示构建),因此可以使用一个步骤并将条件带入其中。
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:prod" Condition=" '$(Build_DefinitionName)' == 'BackOfficeProd'/>
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:preprod" Condition=" '$(Build_DefinitionName)' == 'BackOfficePreProd'/>
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr -- --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<DistFiles Include="$(SpaRoot)node_modules\**" Condition="'$(BuildServerSideRenderer)' == 'true'" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
如果条件变量有问题,可以使用配置管理器设置一些配置变量。
Adding variables configuration manager
你将能够使用这些变量来构建
dotnet发布-c |--配置开发