从3.5调用.NET 4库

时间:2010-05-03 22:29:19

标签: .net .net-3.5 .net-4.0

我需要调用.NET 4.0中的System.Xaml库。如果您的项目是针对3.5?

,是否可以调用此库

4 个答案:

答案 0 :(得分:11)

没有。您需要将项目定位为在.NET 4中运行,并使用CLR v4,以便使用.NET 4程序集。


另一方面 - 这里没有真正的优势。只需将您的应用程序更改为目标.NET 4.如果您要在.NET 4框架程序集上添加依赖项,那么您最初可能只是针对.NET 4 ...

答案 1 :(得分:8)

这是一种Rube Goldberg - esque解决方案,它涉及将.NET 4 DLL方法包装在COM中,然后从.NET 3.5调用该COM包装器:

http://blogs.microsoft.co.il/blogs/arik/archive/2011/05/30/how-to-use-a-net-4-based-dll-from-net-2-based-application.aspx

答案 2 :(得分:2)

不,你不能对程序集进行不同的映射,你可以做的一件事但是很痛苦的是在内存中创建一个重新组装你的net 4.0 dll的类型。

您可以使用CECIL获取IL指令。

如果你不了解IL,甚至不尝试这样做。

答案 3 :(得分:0)

这个问题类似于“如何在.NET 1.x应用程序中使用.NET 2程序集”。不可能将新CLR的程序集添加为参考,但像Hamish所指出的那样,进程间通信可能有所帮助。