簡體   English   中英

從Visual Studio 2013到2015的遷移

[英]Visual Studio 2013 to 2015 migration

我們對將我們的環境從Visual Studio 2013遷移到Visual Studio 2015感興趣。我們提供了具有大量項目(約100個)的幾種解決方案。

我們使用具有條件屬性的自定義.props文件來更改諸如include目錄和輸出路徑之類的內容,以適合這兩個版本。 除Project ToolsVersion和PlatformToolset設置外,生成的轉換后的Visual Studio 2015項目文件相同。

理想情況下,我希望在遷移過程中具有與兩個版本都兼容的項目文件。 這可能嗎?

替代方法是為所有項目文件創建單獨的2015副本,但是不幸的是這些文件的維護。 我是否缺少另一個更好的解決方案?

實際上,我能夠使項目與同時在Visual Studio 2013和Visual Studio 2015上構建兼容。

我手動編輯了項目文件以包括這些行,而不是普通的PlatformToolset條目。 Project ToolsVersion似乎沒有什么不同。

<PlatformToolset Condition="'$(VisualStudioVersion)'=='12.0'">v120</PlatformToolset>
<PlatformToolset Condition="'$(VisualStudioVersion)'=='14.0'">v140</PlatformToolset>

在CI上構建項目時,可以嘗試將一些變量值傳遞給MSBuild命令行。 當需要構建同一項目的多個配置時,這是經典方案。

通常,諸如“ PlatformToolset”之類的參數封裝在不同的配置中(例如,發行版VC ++ 12 /發行版VC ++ 14),並且在調用MSBuild時指定了所需的配置(具體情況取決於您使用的CI軟件)。

“ ToolsVersion”是關於在構建過程中使用的MSBuild版本(不是編譯器/鏈接器版本!),在大多數情況下,所有配置只能使用一個版本。 因此,僅使用您可以在構建/開發人員機器上訪問的最新版本的MSBuild。

我們使用了非常復雜的構建配置,並且當前同時使用VS2012、2013和2015進行開發。遷移到2015年迫使我們進行了一些較小的代碼更改(在某些時候它變得更加嚴格),但是除了沒有遇到任何問題。

.csproj或.sln文件進行了一些不必要的更改,但它基本上是VS簽名,除了在源代碼控制上造成混亂之外,其他原因不多:) VS2012可以毫無問題地打開2015年編輯的項目。

暫無
暫無

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

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