将VS2012解决方案转换为VS2010


127

我正在VS 2012中进行VB项目,完成后我尝试添加安装项目。

我没有找到它(因为安装项目在VS2010之后被终止),所以我切换到VS2010,但问题是该项目无法打开,并且我得到了以下消息:

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

我尝试了这篇文章:http : //www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 并尝试从2012年转换为2010年,但出现了相同的消息。


您为什么不只使用VS2010创建单个安装项目-就我记得您不需要引入项目并可以自己添加文件
Carsten 2012年

好的,这可以解决这个问题,因为我们总是将安装程序和项目包含在同一解决方案中,以加快编译/部署的速度
HokaHelal 2012年

1
vs2010上有sp1吗?我认为您需要它的Service Pack才能打开2012项目/解决方案文件。
乔治·斯托亚诺夫

Answers:


306

我也面临类似的问题。我用谷歌搜索,但找不到解决方案。所以我自己尝试了,这是我的解决方案。

在记事本中打开您的解决方案文件。进行2次更改

  1. 将“格式版本12.00”替换为“格式版本11.00”(不带引号)。
  2. 将“#Visual Studio 2012”替换为“#Visual Studio 2010”(不带引号)。

希望这也对你有帮助.......


3
这样做有不利之处吗?似乎很容易成为事实。
kbeal2k 2012年

4
它对我不起作用,仍然保持不兼容?
大卫,

3
感谢您的提示!甚至可用于降级ASP.NET Web API项目。除了将sln中的格式版本12.00调整为sln中的格式版本11.00,以及将csproj中的TargetFrameworkVersion元素从4.5> 4.0调整;我不得不从
web

2
太棒了,简直无法相信没有向后兼容性。
Stephen Murby

1
我只是使用VS2013陷入了陷阱-将Format改回了11,而在VS2010中一切都很好-谢谢!
Surfbutler

121

只是为了详细阐述Bhavin的出色答案,编辑解决方案文件是可行的,但是如果在VS2012项目中选择了.NET 4.5作为默认.NET版本,而VS2010环境却没有,则仍然会出现不兼容的错误(如David所报告)。支持。

要快速解决此问题,请在文本编辑器中打开VS2012 .csproj文件,并将TargetFrameworkVersion更改为4.0(从4.5)。然后,VS2010将愉快地加载“已编辑”的解决方案和项目。

您还必须以类似的方式编辑引用到.NET 4.5的app.config文件,以允许它们在.NET 4.0环境中运行。


5
这与Bhavin的答案非常完美。谢谢你们俩。
desaivv

2
感谢您的提示!甚至可用于降级ASP.NET Web API项目。除了将sln中的格式版本12.00调整为sln中的格式版本11.00,以及将csproj中的TargetFrameworkVersion元素从4.5> 4.0调整;我必须删除web.config中的httpRuntime元素,并从4.5> 4.0调整web.config中的编译targetFramework属性
AardVark71 2013年

另外,您可能像我一样需要浏览.vcproj文件,并将平台工具集从v110更改为v100。
Xyon

2

我遇到了类似的问题,以上解决方案均无效,因此我选择了始终有效的旧备用数据库:

  1. 重命名包含项目的文件夹
  2. 制作一个与2010年同名的全新项目
  3. 区分两个文件夹,然后->
  4. 直接复制所有源文件
  5. 忽略bin / debug / release等
  6. 区分.csproj并复制所有相关行。
  7. 如果.sln文件只有一个项目,请忽略它。如果很复杂,则也要进行比较。

如果您花了10分钟而无法获得,那几乎总是可行的。

请注意,对于较旧版本(2008、2005)的类似问题,通常可以通过仅更改.csproj中的版本并更改.sln中的版本或将其丢弃来解决,但是这似乎不适用于2013年。


2

最简单的解决方案是.....在vs2013中打开您的网站,然后转到 Debug-> WebsiteProperties(最后一个选项),将打开一个新窗口。

在此窗口中,转到“构建”选项,然后将.net Framework版本从4.5更改为4.0 .....,然后选择“确定”。[注意:仅当您的项目与vs2013没有依赖关系时,此步骤才有效...]

现在在vs2010中打开您的网站



1

VS2012支持VS2010解决方案。VS2010不支持VS2012解决方案->仅单向升级。VS2012不支持安装项目。在此处找到有关VS2010 / VS2012兼容性的更多信息:http : //msdn.microsoft.com/zh-cn/library/hh266747( v=vs.110) .aspx


1
通读该文档后,发现有些东西在两者之间可以很好地工作-这意味着您可以在VS2012中创建一个项目/解决方案,并在VS2010中毫无问题地打开它。但是,该文档确实指出,如果2012年使用某些内容,则不允许您在2010年打开。stackoverflow.com/ questions/10902865/…是另一个很好的简单答案。
brazilianldsjaguar 2012年

如果仔细阅读,则应该会看到一些细微的差别:在VS2010中创建的项目在VS2012中可以正常工作,而不是相反。“ ...您可以打开在Visual Studio 2010 SP1中创建的项目...”
Piotr Lewandowski

0

简单的解决方案为我工作。

  1. 为Windows安装Vim编辑器。
  2. 使用Vim编辑器打开VS 2012项目解决方案,并修改针对Visual Studio解决方案10的版本。
  3. 使用Visual Studio 2010打开解决方案..并继续您的工作;)

为什么选择Vim而不是记事本?
Zac
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.