在Visual Studio 2010新建的項目到2012里打開會要求修改PlatformToolset的值,從v100改為v110。如果這個項目需要進版本管理(VCS,如git, svn),這將造成一點小麻煩。兩頭要么忽略這個變更,要么互相覆蓋。
最近實驗了一種方案,可以保持項目在這兩種環境下一致。只需要新建一個內容如下的屬性表(.props文件):
1 <?xml version="1.0" encoding="utf-8"?> 2 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 3 <ImportGroup Label="PropertySheets" /> 4 <PropertyGroup Label="UserMacros" /> 5 <PropertyGroup> 6 <PlatformToolset Condition="'$(DefaultPlatformToolset)' != ''">$(DefaultPlatformToolset)</PlatformToolset> 7 </PropertyGroup> 8 <ItemDefinitionGroup /> 9 <ItemGroup /> 10 </Project>
然后在vc的屬性管理器中為項目添加這個使用它即可。
由於DefaultPlatformToolset變量在2010中沒有,所以需要用Condition區別一下。
目前只測試了2010和2012的兼容,估計2013也能兼容,誰有環境麻煩測試一下留言告知。