我有一个VS项目(由其他人制作),当我尝试在Visual Studio 2008上打开它时,我收到以下错误消息:
“所选文件是解决方案文件,但是由此应用程序的较新版本创建,无法打开”
我原以为VS向后兼容。有什么方法可以打开这个吗?
答案 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;在文件上。