2013-07-04 44 views
2

我在PC上安裝了Visual Studio 2010和2012。事實證明,當Visual Studio 2010中的屬性頁面Microsoft.Cpp.Win32.user發生更改時,相同的更改會傳播到Visual Studio 2012.它的工作原理相反 - 從VS 2012的更改傳播到VS 2010.這使得它很難當VS的不同版本的二進制文件命名相同時使用第三方庫,因爲VS 2010和2012都將搜索相同的文件夾以查找lib文件。Visual C++ 2010/2012的單獨屬性頁面

+4

這很有趣。我不知道這裏有沒有問題。 – ChiefTwoPencils

回答

2

而不是更改Microsoft.Cpp.Win32.user屬性頁,您可以(和imo應該)創建一個或多個項目特定的屬性頁,其中包含第三方lib信息。這有幾方面的含義:

優點:

  1. 解決您的問題,因爲你可以使用不同的屬性頁VS10和VS11項目
  2. 你可以發佈你的項目給其他VS環境等開發人員更容易,如果項目特定的屬性頁面位於項目中,而不是在一般的地方。
  3. 只有需要lib X的項目使用lib X,相比於每個項目使用的每個第三方庫都有。
  4. 您可以在一個項目中升級第三方庫,而不必擔心升級會破壞使用相同庫的其他項目。

缺點:

  1. 你必須創建或複製和調整使用第三方庫每個新項目的屬性頁。如果你每隔幾天就有一個新項目,這可能是一項可衡量的工作量。考慮用一個非常普遍的屬性頁面來製作一個模板項目,並將其複製到每個新的小型項目中。

在我的項目中,我在同一解決方案中使用了不同的每個項目屬性頁集,例如,單元測試項目鏈接到單元測試框架等等。

+0

看起來像是唯一的方法 – pic11