[英]Why doesn't Exec Command work in a .csproj for netstandard2.0?
我正忙於將代碼從.Net Framework庫遷移到.netstandard2.0庫。 到目前為止,一切進展順利,但現在我被.csproj文件所困擾。
現有項目文件已對此進行了定義
<Target Name="Rebuild">
<Exec Command="echo Now Rebuilding the package" />
</Target>
實際命令執行一個exe,該exe基於xsd生成一堆xml類。
我無法在.netstandard2.0項目中使用它嗎?
我到處搜索過,但找不到無法正常工作的原因...
我懷疑在您的特定實例中, Rebuild
目標將被在代碼之后隱式導入的sdk目標覆蓋。 如果要覆蓋SDK提供的任務,則需要更改為顯式SDK導入(而不是<Project Sdk="...">
):
<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<!-- other project content -->
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<Target Name="Build">
<!-- overwrite Build target here -->
</Target>
<Target Name="Rebuild">
<!-- overwrite Rebuild target here -->
</Target>
</Project>
支持Exec
目標,盡管echo
命令可能會或可能不會運行,具體取決於您在其上運行的平台(因為echo
可能只是Shell的內置命令,而無法運行可執行文件)。
確保:
PATH
上找到的可執行文件的路徑開頭,或者相對於要構建的csproj文件指定為絕對PATH
或相對PATH
。 /t:Clean;Build
代替/t:Rebuild
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.