首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >参考4.0项目中的.net框架4.5.1程序集

参考4.0项目中的.net框架4.5.1程序集
EN

Stack Overflow用户
提问于 2014-05-22 12:51:27
回答 4查看 28.4K关注 0票数 18

如何使4.0项目有一个4.5的参考。在单元测试中,我无法构建解决方案,它给了我这个警告。

警告2主要引用"PR.Wallet“无法解析,因为它是根据".NETFramework,Version=v4.5.1”框架构建的。这是一个比当前目标框架".NETFramework,Version=v4.0“更高的版本。PR.Wallet.Tests

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-05-22 12:52:42

前向兼容.框架(v2.0或更高版本)不是.Net。您不能在.Net 4.0项目中引用.Net 4.5程序集。

请参阅:.NET框架中的版本兼容性

您还可以看到:版本兼容性

.NET框架对后向和向前兼容性的支持程度是特定于版本的..NET框架支持仅使用1.1版本创建的应用程序的后向和向前兼容性。它不支持使用2.0版本创建的应用程序的前向兼容性。在.NET框架的上下文中,向后兼容性意味着使用.NET框架早期版本创建的应用程序将在更高版本上运行。相反,前向兼容性意味着使用.NET框架的更高版本创建的应用程序将在早期版本上运行。 .NET框架提供了对向后兼容性的高度支持。例如,使用1.0版创建的大多数应用程序将在1.1版上运行,使用1.1版创建的应用程序将在2.0版上运行。.NET框架还仅支持1.1版本的前向兼容性。但是,为了向前兼容性,您可能需要修改应用程序,以便应用程序按预期运行。使用Version2.0创建的应用程序不会在.NET框架的早期版本上运行。对于向后和向前兼容性,对.NET框架的更改有助于提高安全性、正确性或功能,也可能会引起兼容性问题。

票数 27
EN

Stack Overflow用户

发布于 2014-05-22 12:55:27

听起来你需要改变这个库的框架。既然这只是一个单元测试项目,我不明白你为什么不这么做。

在中:

  • 右击您的项目
  • 选择属性
  • 选择Application选项卡
  • 将目标框架更改为所需的框架

如果您没有将.NET Framework4.5.1视为选项,请确保安装了它。

票数 7
EN

Stack Overflow用户

发布于 2015-01-27 17:13:30

您无法在目标为4.0的项目中引用4.5.1程序集。但是..。假设安装了4.5.1,则可以动态调用目标4.0的项目中的4.5.1程序集的方法:

代码语言:javascript
运行
复制
var assembly= Assembly.LoadFrom(...);
var type = assembly.GetType(...);
var method = type.GetMethod(...);
var res = method.Invoke(null, args);

请注意,这种方法可能有局限性,但我发现在仍然使用VS2010时调用Roslyn例程很有用。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23807351

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档