簡體   English   中英

從csproj文件中調用目標

[英]Calling a target from csproj file

這個問題與我要發布的clickonce項目有關。

基本上,我希望有一個針對每個測試環境進行發布的目標運行,以便可以相應地設置publishurl和publishdir。

構建項目時,我希望能夠調用此新目標,而無需使用DefaultTargets或將其添加為msbuild參數。 沒有這些步驟,如何呼叫特定目標?

例如:您可以從另一個目標調用目標,例如:

<Target Name="ClientPublish">
    <CallTarget Targets="PublishForEachEnv" />
</Target>

但是我如何直接從csproj調用PublishForEachEnv目標?

希望這有意義

我不太確定您的意思是什么,但我會盡力而為。

要編輯csproj,請在“解決方案資源管理器”中右鍵單擊它,然后選擇“ 卸載項目” 然后,一旦它變灰並且在解決方案資源管理器中不可用,再次右鍵單擊它,然后選擇“ 編輯[您的項目名稱]”

該文件為XML,您可以在其中進行所有排序。 如果您看向底部,將會看到一些目標文件導入,並且還應該為BeforeBuild和AfterBuild分別看到一個空目標。 您可以在此處將調用添加到自定義目標,AfterBuild可能最適合您。 您可以將自定義目標內聯包含在csproj或導入文件中。

您必須返回到解決方案資源管理器,右鍵單擊該項目,然后選擇“ 重新加載項目”以使更改生效。

此外,還有另一個選項:添加一個構建后事件,該事件將您感興趣的值打印到構建輸出窗口中:

因此,這意味着解決方案資源管理器,右鍵單擊該項目,依次選擇“屬性”,“構建事件”,然后編輯“構建后”。

您應該可以通過輸入以下行來獲得所需的內容

echo“我的發布URL為:'$(PublishUrl)'”

請注意,在宏列表中您無法使用PublishUrl ,但是您仍然可以通過手動輸入它來使用它-該列表僅包含公共宏。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM