我已经安装了.NET Framework 4.5,但我的项目中只能使用.NET Framework 4.0,它不支持BigInteger。我需要Visual Studio 2012 for 4.5还是Visual Studio 2010 for 4.5?
是的,您需要VS 2012才能使用.NET 4.5,但是,BigInteger是在.NET 4 中引入的
Visual Studio的每个现代版本(上的VS 2002)都被键控到特定的.NET Framework版本,并且不能"查看"/使用在该VS版本之后发布的较新版本。最近的VS版本,VS2008及以后的版本可以"看到"一些旧的框架版本,但不能"看到".NET.的新版本
VS2008是.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。
正如其他人所指出的,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:中添加程序集引用
- 打开解决方案资源管理器
- 展开有问题项目的节点
- 在"引用"节点上单击鼠标右键
- 选择"添加引用…"。将打开一个对话框
- 打开".NET"选项卡
- 在组件名称列表中找到"System.Numerics">
- 单击"确定"按钮
- Biginteger是在.net 4.0中引入的
- 对于.net 4.0之前的版本,请尝试intX
您将需要VS2012 for.NET 4.5。VS2010仅支持.NET 4.0版本。
但一旦安装了.NET 4.5,所有.NET 4应用程序实际上都在新版本的.NET上运行,系统DLL的位置是C:WindowsMicrosoft.NETFrameworkv4.0.30319
你是说VS2010只能引用C:Program Files (x86)Reference AssembliesMicrosoftFramework.NETFrameworkv4.0
中的系统DLL吗?
在设计时不会看到新类型/新库,但是可以使用反射在运行时加载吗?