0

有誰知道是否有Visual Studio 2008的插件可以以非破壞性的方式打開VS2005解決方案?Visual Studio插件允許在2008年打開2005年解決方案?

我在想,轉換的項目文件保存在內存中,而不是替換原來的磁盤,並且.Net框架2.0將默認爲目標?

當前的行爲需要一個複雜的轉換過程,該過程銷燬原始解決方案文件,並最終以針對新框架的項目結束。我希望能讓仍然使用2005的開發人員繼續開展項目工作。

回答

4

我在開源項目中看到的這種處理方式是爲每個版本的VS創建一個解決方案文件。由於項目文件(csproj,vbproj等)在不同版本之間是兼容的,因此不需要這些文件的單獨版本。

+0

在這種情況下,您是否知道使用vs2005解決方案的實用程序可以創建一個仍然以.Net 2.0爲目標的等效vs2008解決方案? – 2009-02-16 19:37:34

2

只需在2008年打開您的2005年項目,並允許它升級您的解決方案/項目。您可能會收到一個對話,要求您更新CLR版本,只是說不。

一旦你有一個可行的2008解決方案,將* .sln文件複製到另一個名稱(我稱爲我的副本* .2005.sln),打開記事本中複製的* .sln文件或者您最喜歡的文本編輯器。在第二行找到「格式化版本10.0」,並更改爲「格式化版本9.0」。保存文件。

就是這樣,你的升級解決方案文件的工作在VS 2008中,和一個你複製和VS改變作品2005

還有,如果你有Web應用程序項目一個額外的步驟。 在Web應用程序的vbproj或的csproj文件,找到行:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="" /> 

並替換這兩個是一個行:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" /> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" /> 

這兩線將有條件地選擇取決於正確的MSBuild路徑使用的VS版本。

相關問題