往返切換:使用Visual Studio 2010與2012工作于相同項目
過去,當開發人員將一個 Visual Studio 項目遷移至新版本時,該項目將沒法在任何一個早期版本中使用。Visual Studio 2012 RC 推出了一個叫做“項目往返切換(project round-tripping)“的特性,現在團隊可以讓項目在 Visual Studio 2010 和 2012 之間往返工作了。
Visual Studio 2010 SP1 包含了支持項目往返切換的框架。據 Visual Studio 博客上說,
在 Visual Studio 2010 中,我們啟用了完整的多目標支持,用于服務 Visual Studio 與 .NET 運行時之間的一對一支持。它可以讓 Visual Studio 2010 中創建的項目定向到老版本的 .NET Framework,這推進了我們啟用 Visual Studio 項目在不同版本之間的往返切換的腳步。在 Visual Studio 11 中,我們自然而然地邁出了另一步,正確處理不同環境下的項目。
在使用往返切換功能之前,需要了解的重要事項是此類項目僅向后兼容 Visual Studio 2010 SP1,并且應用程序必須目標定向為 .NET Framework 2-4。兼容性同樣根據項目類型的不同而有所不同,有一些項目是完全不可行的。(微軟已經提供了一份包含兼容性細節的清單。)
項目行為
微軟聲明說,大部分項目在 Visual Studio 2010 SP1 與 2012 中的行為一致,從而往返切換沒有問題。對于在構建路徑上使用硬編碼版本號的項目,它們中的版本號會自動更新為變量進行替代,所有的改動就僅限于此。應當可以無縫進行往返切換的項目類型有:Windows Forms、Sharepoint、WPF 以及大部分 SQL Server 項目。
其他項目也可以自動升級用于支持往返切換。Visual Studio 2012 在項目打開時,會顯示一個”檢查項目及解決方案改動“的對話框并顯示影響的條目。用戶可以在升級發生前檢查提到的改動,之后過程會創建一個備份。一旦 Visual Studio 2012 執行修改后,項目就可以同時在 2012 與 2010 SP1 中使用了。Silverlight 4 與5、Blend 和 Visual Studio 2010 Web 項目也屬于此類。
特定類型的項目在升級后的行為與此前的 Visual Studio 一樣:一旦它們被轉換后,將不能在任何其他版本的 Visual Studio 中使用。這些項目類型包括F#、LightSwitch 以及 SQL Server LocalDB。
不在此列的項目
Windows Phone、Windows Mobile、Windows Azure 云工具、BizTalk 2010 R2 以及 Visual Studio 安裝程序(*.msi)項目沒法在 Visual Studio 2012 RC 中使用。微軟對是否在最終版本中為上述類型的項目提供往返切換支持尚未說明。對于安裝程序項目,微軟鼓勵開發人員使用 InstallShield Limited Edition for Visual Studio 進行替代。
查看英文原文:Round-Tripping: Using Visual Studio 2010 and 2012 on the Same Project