簡體   English   中英

比較Visual Studio中的配置?

[英]Compare Configurations within Visual Studio?

實際上我遇到了一個問題,我經常更喜歡進入:

請考慮以下事項:您剛剛創建了一個新的解決方案/項目,並開始創建/添加您需要的所有內容。 當你這樣做時,你總是在調試配置中繼續前進。 您對配置進行了更改(在C ++項目中,特別是編譯器,鏈接器設置),並且在一天結束時,您只想交換到發布模式以進行最終構建,會發生什么? 您有大量關於缺少定義,鏈接庫,預處理器定義,預編譯頭等的錯誤消息。)

現在? 打開“項目屬性”,在樹視圖中選擇每個項目,然后使用左上角“配置”的組合框切換和返回。

由於這兩個配置都保存在一個文件中,您不能使用簡單的Diff-Tool,或者必須將項目文件中的兩個部分復制並粘貼到兩個不同的文件中,比較它們並將所有內容合並回來項目文件。

是否有更好的解決方案來比較一個項目中的不同配置?

對於現在的價值,這里是我如何處理更改一個配置而忘記更改另一個配置的問題。 但是,我使用的這個過程確實有兩個注意事項:1)它適用於VS2010及以上版本; 並且,2)我已經學會完全避免這個問題。

首先,我永遠不會對項目的屬性頁面進行更改! 他們傾向於使用最初導致此問題的構建條件。 相反,我總是在“解決方案資源管理器”旁邊打開我的“物業經理”。

其次,我在一個名為common.properties的子文件夾中有幾個“預定義”屬性表,例如:

  • my_macros.props - 特定於我的解決方案(讀取:框架)目錄結構的常見宏定義。 例如,我有一個名為MY_COMMON_OUTPUT_DIRECTORY的定義,它等於$(SolutionDir)bin \\ $(Configuration)\\ $(ProjectName)。

  • my_dox_settings.props - 特定於doxygen項目的設置。 是的,我使用doxygen創建了一個單獨的項目來創建我的文檔。

  • my_test_settings.props - 特定於我的單元測試框架的設置。 同樣,單獨測試的單獨項目。 添加運行已編譯可執行文件的生成后事件。

  • my_app_settings.props - 我的應用程序框架的默認設置。 例如,它將“輸出目錄”設置為前面提到的MY_COMMON_OUTPUT_DIRECTORY。

  • my_app_settings_use_pch.props - 對使用預編譯頭的應用程序框架的其他更改。 它只是添加了一個/ DI_WANT_MY_PCH編譯器開關。

  • include_boost_files.props - 將boost-libraries添加到我的項目的設置。

  • include_ogre_files.props - 將ogre-libraries添加到我的項目的設置。
  • include_sdl_file.props - 為我的項目添加sdl-libraries的設置。

  • 你應該得到這個想法......

接下來,我創建一個新的空白屬性表並添加它。 我通常稱之為$(ProjectName).props [注意:一定要自己擴展宏],然后通過屬性管理器添加它作為最后一項。

現在,當我需要對項目進行更改時,我只需轉到屬性管理器並更改相應的屬性表。 請記住,這樣做會影響使用該屬性表的所有項目。 如果您只想影響當前項目,請修改$(ProjectName)屬性表。 除非你構建條件(我不會進入),否則一個更改會影響許多配置(和項目)。

我甚至將common.properties目錄檢查為source-control。

我希望這有幫助,

我不確定他們什么時候推出它,但至少在VS2015中,你可以在Property Pages屏幕的配置下拉列表中選擇“Multiple Configurations ...”。 然后,您可以從各個部分中選擇“所有選項”,並查看哪些參數不同(不同的參數)。 沒有向您顯示實際值 - 您仍然需要來回切換 - 但至少您可以快速發現差異。

我沒有在項目文件中進行比較的完美解決方案......但是對於它的價值,您可能會發現將當前項目文件與源代碼管理中的副本進行比較會很有幫助。 然后,您在一個部分中看到更改的值,您可以快速查看該值是否也在另一部分中更改。

但是你的問題指定了一個新項目...所以我認為它還沒有源代碼控制。

所以這是另一個選項:將項目文件復制到另一個名稱,然后比較兩個副本。 是的,它們將是相同的......但是如果你使用Beyond Compare 2之類的好工具允許你手動對齊部分,那么你可以右鍵單擊左側窗口中調試部分的第一行並選擇Align手動然后右鍵單擊右側窗口中發布部分的第一行,然后選擇“手動對齊”。 瞧...有你的改變。 :)

有一個名為BeyondCompare3的程序非常便宜。 我很少贊同產品,但它應該在這里為你做好准備。 使用“比較選擇到剪貼板”選項。

暫無
暫無

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

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