如果我通過命令行使用我的解決方案文件或項目文件作爲輸入執行msbuild而不設置配置和平臺,msbuild如何確定哪個配置和平臺用於解決方案中的每個項目還是單個項目文件?構建解決方案文件或項目文件時默認使用msbuild的配置和平臺
2
A
回答
4
在解決方案文件的情況下 - 無論是的MSBuild和xbuild試圖找到Debug
配置和Mixed platforms
平臺,但如果不存在,那麼將回退到它可以在.sln
文件中找到SolutionConfigurationPlatforms
下的第一個。請記住,這只是解決方案級別配置/平臺,並且它使用.sln
文件中的ProjectConfigurationPlatforms
中的映射來確定用於項目的配置/平臺。
在項目文件的情況下,*proj
文件通常具有指定的默認Configuration
和Platform
。但是如果即使缺少那麼Microsoft.Common.*targets
文件也會選擇Debug|AnyCPU
作爲默認值。
更新:在默認的csproj規範可能是這樣的:
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
...
它本質上說:「如果$(配置)是不確定的,然後將其設置爲Debug」,併爲平臺類似。
相關問題
- 1. msbuild解決方案文件
- 2. 爲Jenkins使用的.NET解決方案配置構建文件
- 3. 讓MsBuild構建子文件夾中的所有解決方案
- 4. MSBuild。使用x86,x64和任何CPU平臺構建解決方案
- 5. 從解決方案文件獲取當前配置的MSbuild
- 6. 排序在自定義MSBuild文件中執行的項目/解決方案構建和cmd文件
- 7. 多項目解決方案中的配置文件
- 8. 當解決方案配置不匹配所有項目時,使用ms構建解決方案
- 9. maven的默認構建配置文件
- 10. 從Visual Studio解決方案文件和項目文件生成MSBUILD項目文件
- 11. 多平臺MSBuild項目文件
- 12. Visual Studio:在項目或解決方案設置上設置默認項目
- 13. MSBuild針對不同解決方案的不同構建配置?
- 14. msbuild特定項目配置。簡單的解決方案?
- 15. 跳過一個項目,同時使用msbuild 3.5構建解決方案
- 16. 如何在Visual Studio解決方案文件中設置默認配置?
- 17. 在windows 32位系統上使用msbuild構建一個解決方案文件
- 18. 創建一個文件C++(用於Unix和Windows的跨平臺解決方案)
- 19. 針對本地和構建環境的不同解決方案/項目文件
- 20. SharpDevelop的 - 設置默認的項目解決方案
- 21. 將解決方案範圍的設置文件放入解決方案根目錄並使用項目模板
- 22. 動態創建解決方案文件(.sln)和項目文件(.csproj)
- 23. 解決方案文件與Visual Studio中的項目文件
- 24. Visual Studio解決方案中的文件夾或項目?
- 25. MSBuild:在指定解決方案時構建自定義項目目標
- 26. 以編程方式創建VS解決方案/項目文件
- 27. 如何使用MsBuild構建包含MsTest測試項目的解決方案?
- 28. MSBuild - 我可以構建一個沒有解決方案的構建配置嗎?
- 29. 主動解決方案平臺VS項目平臺VS平臺目標
- 30. MSBuild構建默認調試配置
csproj中如何指定默認的'Configuration'和'Platform'?您是否也碰巧知道微軟是否已將此行爲記錄在任何位置或需要挖掘「Microsoft.Common。* targets」和msbuild代碼以查找此信息?我的意思是我可以通過創建測試解決方案和項目文件來進行實驗,但我不想知道規則比我的實驗暴露的更復雜。 –
瞭解構建配置:https://msdn.microsoft.com/en-us/library/kkz9kefa.aspx – radical
謝謝,鏈接正是我一直在尋找的!也感謝您的更新,我完全忘了那些在每個項目文件中的權利在開始... –