Visual Studio无法打开解决方案文件

时间:2010-09-21 09:03:36

标签: visual-studio-2008 backwards-compatibility

我有一个VS项目(由其他人制作),当我尝试在Visual Studio 2008上打开它时,我收到以下错误消息:

“所选文件是解决方案文件,但是由此应用程序的较新版本创建,无法打开”

我原以为VS向后兼容。有什么方法可以打开这个吗?

3 个答案:

答案 0 :(得分:37)

您可以手动编辑sln和csproj / vbproj文件并尝试这种方式,我使用此方法没有副作用。 在sln文件中,VS2010的第一行会说

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

和VS2008解决方案:

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008

此外,在2010项目文件中,您可能会找到类似

的部分
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />

需要修改为

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

只有这两种类型的更改,我才能打开解决方案&amp; VS 2008的项目。当然可能会出现其他差异,但如果你有时间,你可以随时使用try / fail方法直到你管理它。

答案 1 :(得分:16)

VS 向后兼容,是的 - 您可以在VS 2008中打开VS 2005解决方案文件。它不是 forward 兼容 - 可能是该解决方案是由VS 2010的人创建的。编辑:根据评论,使用VS2010 SP1,您可以打开VS2012解决方案。我自己没有验证过。

幸运的是,虽然解决方案文件不兼容,但我相信你应该能够在VS 2008中创建一个新的解决方案并添加用2010创建的现有项目文件,只要它们没有没有使用任何特定于VS2010的功能(无论是在项目结构中还是在代码本身中)。如果代码以.NET 4为目标,您可能需要调整项目文件以将其重新定位到.NET 3.5。

你可能会看到关于这个的警告(一个未知的工具版本,或类似的东西) - 但它可能很好用。我有许多项目为VS2008和VS2010提供单独的解决方案文件,但它们使用相同的项目文件。

答案 2 :(得分:3)

解决方案:

第1步: 转到项目所在的项目位置。保留sln文件,然后右键单击它,选择&#34;属性&#34;。取消选中&#34;只读&#34;如下所示:

第2步: 再次转到项目所在的位置。保留sln文件,然后右键单击它以使用记事本打开它并更改&#34; Microsoft Visual Studio解决方案文件,格式版本12.00&#34;到&#34; Microsoft Visual Studio解决方案文件,格式版本11.00&#34;在文件上。