6

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

4

5 回答 5

10

是的,您需要 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。

于 2012-11-29T03:33:44.043 回答
2
  1. Biginteger 是在 .net 4.0 中引入的
  2. 对于 .net 4.0 之前的版本,请尝试intX
于 2012-11-29T03:35:13.567 回答
2

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

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

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

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

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

  1. 打开解决方案资源管理器
  2. 展开相关项目的节点
  3. 右键单击引用节点
  4. 选择“添加参考...”。将打开一个对话框。
  5. 打开“.NET”选项卡
  6. 在组件名称列表中找到“System.Numerics”
  7. 单击“确定”按钮。
于 2012-11-30T18:28:28.643 回答
1

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

于 2012-11-29T03:32:23.057 回答
0

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

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

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

于 2012-11-29T05:39:21.403 回答