为什么Visual Studio解决方案需要在每个Visual Studio版本中升级?

时间:2010-09-23 19:57:55

标签: visual-studio

这很容易成为Visual Studio历史上最烦人的“功能”之一,我不明白为什么它存在 - 永远

为什么CodePlex项目需要关注我正在使用的Visual Studio版本?

在我的脑海中,我唯一能想到的是Visual Studio的某些版本可能会内省搜索属性的程序集,以确定在“Visual Designers”和“Property Editors”中显示的内容。但是为什么会导致Visual Studio无法打开项目并允许我浏览其内容并进行编译?

在我看来,.NET中的Open Source在某种程度上受到Visual Studio所展示的愚蠢依赖管理的限制。换句话说,如果我使用的是Visual Studio 2008并且您使用的是Visual Studio 2010,那么我们会有不同的解决方案文件。

2 个答案:

答案 0 :(得分:1)

我相信这样做的目的会触及你在评论中所说的内容。如果你正在使用2008和我2010并编译它,你怎么可能再次运行它? 2010向后兼容,但2008年没有办法使自己向前兼容。

因此,通过在2010年重新编译项目,我确保没有2008用户可能会错误地认为他们可以编译它。

答案 1 :(得分:1)

http://blogs.msdn.com/b/visualstudio/archive/2010/03/15/why-does-visual-studio-2010-convert-my-projects.aspx

以下是网站上的一个示例为什么 Visual Studio将您的项目转换为2010格式。

  

例如,Visual Studio运行   自定义工具,如单个文件   为设计师设计的发电机   输出代表变化的代码   制作给设计师。其中很多   自定义工具已升级或   在较新的IDE中完全替换。   在转换期间,IDE知道哪个   用于替换或升级的自定义工具。在   为了进行往返工作,VS   将需要旧的和新的自定义工具   相互理解,以确保   新老设计师可以工作   并排。除了设计师,   以下文件也是   受影响:资源编辑,向导,   代码片段,项目和项目   模板,图表和建模   工具,以及更多工具,等等。

自2010年了解2008年具备的工具后,它可以转换为与2010年使用的自定义工具兼容。 2008年不知道2010年正在使用什么,怎么可能?因此,不可能向后转换,因为它不知道转换需要什么,也不知道如何转换。