检查C#项目的VS版本

15

我有一个已完成的C# Visual Studio项目,但由于Visual Studios版本问题无法打开。

我已经尝试使用VS2005和VS2010,但均无法打开该项目。

在VS2010中转换项目时也遇到了错误。

是否有任何文件可以定位所使用的VS版本?

__

编辑:

感谢您的建议。

如建议所述,我已查看我的csproj文件:

<?xml version="1.0" encoding="utf-8"?> <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

从我所看到的内容,所使用的VS版本很可能是2003年版。

如果我错了,请指正。


5个回答

30
在您的项目的csproj文件中查找<ProductVersion>标签中的值。 这是一个表格,其中包含每个产品名称及其相应版本的信息:请参考此处
+---------------------------+---------------+-----------+----------------+
|       Product name        |   Codename    | Version # | .NET Framework | 
+---------------------------+---------------+-----------+----------------+
| Visual Studio 4.0         | N/A           | 4.0.*     | N/A            |
| Visual Studio 97          | Boston        | 5.0.*     | N/A            |
| Visual Studio 6.0         | Aspen         | 6.0.*     | N/A            |
| Visual Studio .NET (2002) | Rainier       | 7.0.*     | 1              |
| Visual Studio .NET 2003   | Everett       | 7.1.*     | 1.1            |
| Visual Studio 2005        | Whidbey       | 8.0.*     | 2.0, 3.0       |
| Visual Studio 2008        | Orcas         | 9.0.*     | 2.0, 3.0, 3.5  |
| Visual Studio 2010        | Dev10/Rosario | 10.0.*    | 2.0 – 4.0      |
| Visual Studio 2012        | Dev11         | 11.0.*    | 2.0 – 4.5.2    |
| Visual Studio 2013        | Dev12         | 12.0.*    | 2.0 – 4.5.2    |
| Visual Studio 2015        | Dev14         | 14.0.*    | 2.0 – 4.6      |
+---------------------------+---------------+-----------+----------------+

2
我不相信这个答案是完整的。我已经使用VS2015 Pro Update3修改过的升级后的csproj中的ProductVersion为9.0.30729。在使用VS2015 Pro Update3创建的全新SL5应用程序中,ProductVersion为8.0.50727。根据上面的表格,我会期望在这两种情况下都是14.0.xxxx,不是吗? - Montgomery 'monty' Jones

7

在文本编辑器(例如记事本)中打开 .sln 文件。版本号应该在 "#" 符号后的前几行中。


1

一个项目文件的开头看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">   <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
    <ProductVersion>8.0.30703</ProductVersion>

要么ToolsVersion属性,要么ProductVersion标签应该指向Visual Studio的版本。


我有与你的答案相同的*.csproj文件,所以你能告诉我你用的是哪个版本的 Visual Studio 吗?谢谢。 - meadlai

1
补充一下Ben的回答,你可以查看项目类型,在同一个csproj文件中,它们会像这样:
<ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>

有可能您正在尝试打开的项目使用了一些您未安装的项目类型(例如Web Deployment Project或高于您的版本的MVC版本等)。 您可以在ProjectTypeGuids中搜索每个GUID以查看缺少什么。


-1

用记事本打开csproj文件。里面应该有一行。

你是正确的。这是Visual Studio 2003。


2
2003 只是架构版本,与 VS 版本无关。在 VS2003 中不可能使用 dotNet 4.0。 - Gorchestopher H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接