我們有許多使用MSBuild構建的標準.vcxproj
文件。對於某些屬性和目標,我們需要一個.vcxproj.user
文件來覆蓋特定於正在進行的構建的屬性。MSBuild:覆蓋.user文件的路徑
爲了在開發環境中使用與構建機器相同的構建過程,我們希望將.vcxproj.user
的路徑指定爲與.vcxproj
文件不同的目錄,因此構建過程可以生成它的文件需要在一個單獨的目錄中,而不會影響用戶自己的設置。
我發現msbuild查找.user文件的地方很少,或者甚至可以指定路徑?
我們有許多使用MSBuild構建的標準.vcxproj
文件。對於某些屬性和目標,我們需要一個.vcxproj.user
文件來覆蓋特定於正在進行的構建的屬性。MSBuild:覆蓋.user文件的路徑
爲了在開發環境中使用與構建機器相同的構建過程,我們希望將.vcxproj.user
的路徑指定爲與.vcxproj
文件不同的目錄,因此構建過程可以生成它的文件需要在一個單獨的目錄中,而不會影響用戶自己的設置。
我發現msbuild查找.user文件的地方很少,或者甚至可以指定路徑?
路徑*爲CPP項目。用戶文件中C的規定:\ Program Files文件\的MSBuild \ Microsoft.Cpp \ V4.0 \ Microsoft.Cpp.Default.props
<MSBuildAllProjects Condition="Exists('$(MSBuildProjectFullPath).user')">$(MSBuildAllProjects);$(MSBuildProjectFullPath).user</MSBuildAllProjects>
它的目的指定自定義用戶設置(例如,您可以指定應用程序在調試中運行)並且無法更改。
要更改構建過程,您可以使用CustomBeforeMicrosoftCommonTargets。您可以創建自己的* .targets文件,該文件將導入特定的屬性/目標,更改構建過程以進行一些預處理操作等。我爲AfterTargets here寫了一個例子。您只需要實現自定義構建邏輯並將註冊更改爲BeforeTargets。