代码之家  ›  专栏  ›  技术社区  ›  Joel Coehoorn

Visual Studio插件允许在2008中打开2005解决方案?

  •  0
  • Joel Coehoorn  · 技术社区  · 16 年前

    我的想法是,转换后的项目文件保存在内存中,而不是替换磁盘上的原始文件,默认情况下,.Net framework 2.0将成为目标?

    当前行为需要一个复杂的转换过程,该过程会破坏原始的解决方案文件,并最终生成一个针对较新框架的项目。我想要一些能让仍在使用2005的开发人员继续工作的东西。

    2 回复  |  直到 16 年前
        1
  •  4
  •   John Sheehan    16 年前

    我在开源项目中看到的方法是为每个版本的VS创建一个解决方案文件。由于项目文件(csproj、vbproj等)在不同版本之间是兼容的,所以不需要这些文件的单独版本。

        2
  •  2
  •   chyne    16 年前

    只需在2008年打开您的2005项目,并允许它升级您的解决方案/项目。你可能会得到一个对话框,要求你更新CLR版本,只是说不。

    就这样,升级后的解决方案文件在VS 2008中工作,而复制和更改的解决方案文件在VS 2005中工作。

    在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'" />
    

    这两行将根据所用VS的版本有条件地选择正确的MSBuild路径。