簡體   English   中英

Visual Studio發布MSdeploy $(SolutionDir)

[英]Visual Studio Publish MSdeploy $(SolutionDir)

我在使用MSDeploy和Visual Studio的發布配置文件時遇到麻煩的問題。 在我的項目中,我有一個屬性組,我設置了一個項目供以后參考。

<LocalBuildLocation>$(SolutionDir)WebSites\MyWebSite\</LocalBuildLocation>

不幸的是,Visual Studio將從該屬性中隨機刪除$(SolutionDir)字符串,並且我的構建將失敗。 我將其手動復制回去,一切順利。

誰能想到這個項目為何會不斷將其移除?

MSDN:在程序集中使用項目屬性並包含指令

$(SolutionDir)這樣的Visual Studio宏在MSBuild中不起作用。 您可以改用項目屬性。

使用$(ProjectDir) (更安全的項目級別屬性)或$(MSBuildProjectDirectory) (最安全,始終存在)

請參閱: $(SolutionDir)MSBuild屬性不正確,當通過CMD運行Sandcastle幫助文件生成器在vcproj文件中獲取$(ProjectDir),$(SolutionDir)的值時

看起來$SolutionDir (有時)可以與MSBuild一起使用,但是僅當您從解決方案文件進行構建時。 大多數情況下,它與$ProjectDir相同。

但是,您不應在MSBuild中使用它們。 即使它們有時起作用-這也不可靠。 正如另一個答案所指出的那樣:

像$(SolutionDir)這樣的Visual Studio宏在MSBuild中不起作用。 您可以改用項目屬性。

來源: 構建過程中的代碼生成

$(ProjectDir)項目的目錄(定義為驅動器+路徑); 包括結尾的反斜杠“ \\”。

$(SolutionDir)解決方案的目錄(定義為驅動器+路徑); 包括結尾的反斜杠“ \\”。

注意:

您可以在接受字符串的項目的“屬性頁”對話框中的任何位置使用這些宏。

來源: 構建命令和屬性的宏

暫無
暫無

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

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