我需要用于 .NET 4.5 的 Visual Studio 2012 还是 Visual Studio 2010 适合 4.5?

Posted

技术标签:

【中文标题】我需要用于 .NET 4.5 的 Visual Studio 2012 还是 Visual Studio 2010 适合 4.5?【英文标题】:Do I need visual studio 2012 for .NET 4.5 or is visual studio 2010 fine for 4.5? 【发布时间】:2012-11-29 03:29:50 【问题描述】:

我已经安装了 .NET Framework 4.5,但我只能在我的项目中使用 .NET Framework 4.0,它不支持 BigInteger。我需要适用于 4.5 的 Visual Studio 2012 还是适用于 4.5 的 Visual Studio 2010?

【问题讨论】:

不是对您问题的直接回答,但我希望对您有所帮助:如果您有一个 .NET 4.0 项目并且无法使用 BigInteger,请确保您的项目引用了System.Numerics 程序集。此外,您要么需要有效的using System.Numerics;,要么需要使用完全限定的类型名称 (System.Numerics.BigInteger)。 命名空间“System”中不存在类型或命名空间名称“Numerics”(您是否缺少程序集引用?) 您确定您的项目引用了 System.Numerics 程序集吗?在 VS 2010 中,打开解决方案资源管理器,展开项目节点,右键单击“引用”节点,然后选择“添加引用...”。然后使用“.NET”选项卡,在 Component Name 列表中找到 System.Numerics,我想你可以从那一点弄清楚。 @phoog 是的,我明白了,我认为只需在文件中引用它就足够了。 @phoog 你能回答我吗,这样我就可以接受了。 【参考方案1】:

是的,您需要 VS 2012 才能使用 .NET 4.5,但是,BigInteger 是在 .NET 4 中引入的

Visual Studio 的每个现代版本(VS 2002 上)都与特定的 .NET Framework 版本相关联,并且无法“查看”/使用在该 VS 版本之后发布的较新版本。较新的 VS 版本,VS 2008 及更高版本可以“看到”一些较旧的框架版本,但不能“看到”较新版本的 .NET。

VS 2008 键入 .NET 3.5,可以使用 2.0 和 3.0。不能使用 4.0 或 4.5

VS 2010 键入 .NET 4.0,可以使用 3.5、3.0 和 2.0。不能使用 4.5

VS 2012 键入 .NET 4.5,可以使用 4.0、3.5、3.0 和 2.0

如果您需要 .NET Framework 4.5 中引入的功能,则需要 VS 2012。

【讨论】:

【参考方案2】:

正如其他人所指出的,BigInteger 是在 .NET 4.0 中引入的,而不是在 .NET 4.5 中引入的。通过我们在 cmets 中的交换,您的项目中似乎没有引用 System.Numerics.dll。

VS 项目引用告诉 C# 编译器哪些程序集定义了将在正在编译的 C# 代码中使用的类型。默认的 Visual Studio 项目模板不包括对整个 .NET 框架的引用。省略了几个更专业的程序集,例如 System.Numerics;如果你想使用它们,你必须自己添加引用。

人们经常将 using 指令 ​​(using System.Numerics;) 与引用本身混淆。 using 指令仅帮助编译器解析类型名称;它涉及一个命名空间。为了让编译器自己找到类型,您需要一个引用,它标识一个程序集

该信息应有助于澄清错误消息“类型或名称空间名称 'Numerics' 不存在于名称空间 'System' 中(您是否缺少程序集引用?)”。这意味着编译器检查了所有引用的程序集,并且没有找到名为 System.Numerics 的类型或命名空间。

在 VS 2010 中添加程序集引用:

    打开解决方案资源管理器 展开相关项目的节点 右键单击引用节点 选择“添加参考...”。将打开一个对话框。 打开“.NET”标签 在组件名称列表中找到“System.Numerics” 点击“确定”按钮。

【讨论】:

【参考方案3】:
    Biginteger was introduced in .net 4.0 对于.net 4.0 之前的版本,请尝试intX

【讨论】:

命名空间“System”中不存在类型或命名空间名称“Numerics”(您是否缺少程序集引用?)【参考方案4】:

.NET 4.5 需要 VS2012。 VS2010 仅支持 .NET 4.0。

【讨论】:

【参考方案5】:

但是一旦你安装了 .NET 4.5,所有 .NET 4 应用程序实际上都在新版本的 .NET 上运行,系统 DLL 的位置是C:\Windows\Microsoft.NET\Framework\v4.0.30319

你的意思是VS2010只能引用C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.0中的系统DLL吗?

在设计时不会看到新类型/新库, 但是可以在运行时使用反射来加载?

【讨论】:

以上是关于我需要用于 .NET 4.5 的 Visual Studio 2012 还是 Visual Studio 2010 适合 4.5?的主要内容,如果未能解决你的问题,请参考以下文章

visual studio 2022打开旧项目缺乏.net 4.5依赖问题

visual studio 2022打开旧项目缺乏.net 4.5依赖问题

Visual Studio 2022 不支持 .NET Framework 4.5 项目的解决办法

MSB3644 - 缺少 .NET 4.5 SDK [关闭]

.net 4.5 框架中用于图像编辑的命名空间

在 C# .NET 4.5 中使用 SAML 2.0