为什么.net 4.0项目不能引用4.5程序集?
我正在开发一个针对.NET 4.0的项目,现在我需要引用一个针对.NET 4.5构建的第三方dll。 似乎visual studio不接受这个? 为什么? VS告诉我当前上下文中不存在dll名称。
因为您引用了更高版本。 微软可以兼容,但不兼容“未来兼容”。 您需要将整个项目转换为更高版本,以便能够使用该二进制文件。
不知道你正在谈论什么技术,但如果是asp.net
,请考虑在vNext中,你可以在服务器上部署自己的cloud clr版本。 所以你可能有2个版本的应用程序,一个目标4.5
,其他4.0
。
介绍vNext 。 重复,如果这涉及到你。
面向.NET 4.0的项目可以在4.0运行时运行。 面向.NET 4.5的DLL不能。
如果允许的话; 您将能够构建似乎在4.0中工作的项目,并在尝试加载4.5组件时失败。
你可以参考另一种方式; 因为4.0 DLL可以在4.5运行时加载。
您需要从第三方请求4.0版本的DLL; 或目标.NET 4.5。
应用程序域将在4.0运行时下运行,因此无法引用较新的dotnet版本,只有反之亦然。
4.5是一个不同的.net运行时,因此无法在旧版本中加载4.5。
您必须记住,运行时需要将中间语言(IL)解释为机器代码。 如果IL是在4.5上创建的,那么4.0运行时将不知道如何解释它。
在4.5中创建一个控制台应用程序,然后从4.0执行cmd以从4.5获取所需的数据,这可能是一个快速的解决方案。 不知道,但它做的工作:)
- HttpContext在global.asax.cs中不起作用
- 使用async / await与DataReader? (没有中间缓冲区!)
- 无法使ApplyCurrentValues(Entity)在Entity Framework 5中工作
- 当从finallys抛出exception时,不会评估Catch块
- 使用.NET 4.5构建的应用程序可以在.NET 4.0上运行吗?
- 使用应用程序设置中的值存储字符串数组
- entity framework实体不在DataSpace.OSpace(_workspace.GetItemCollection(DataSpace.OSpace))中,而是在DataSpace.CSpace中
- 在C#中,是否可以在后台打开URL而无需打开浏览器?
- 通过部分匹配其名称来查找多个控件