CLI参数
运行dotnet publish --no-build ...
时,如何停止.csproj文件中<Target>
内<Exec>
标记中的命令运行?我可以停止使用整个<Target>
部分吗?
样品:
<Target Name="BuildSpa" BeforeTargets="Build" AfterTargets="ComputeFilesToPublish" Condition="'$(Configuration.ToUpper())' == 'RELEASE'">
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />
</Target>
--no-build
将msbuild属性NoBuild
设置为true:
public static readonly Option NoBuildOption = new Option<bool>("--no-build", LocalizableStrings.NoBuildOptionDescription)
.ForwardAs("-property:NoBuild=true");
dotnet文档也将其命名为:
可以通过将
--no-build
属性传递给dotnet.exe
来避免这种情况,这相当于在项目文件中设置<NoBuild>true</NoBuild>
以及在项目文件中将<IncludeBuildOutput>false</IncludeBuildOutput>
设置在内。
您应该能够在Condition
检查中测试该属性:
<Target ... Condition="'$(Configuration.ToUpper())' == 'RELEASE' and '$(NoBuild)' != 'true' ">
...