如何将较高版本的 .net 库 (.dll) 与较低版本的二进制文件集成

发布于 2024-10-06 14:11:12 字数 158 浏览 2 评论 0原文

我有使用 .net Framework 4 编译的外部 .net 库(它的提供程序最近移至 .net 4) 我的代码当前在 .net Framework 3.5 上运行 如何在我的应用程序中使用该外部库? 将整个应用程序迁移到 .net 4 需要时间和测试,所以也许将来我会这样做,但现在有什么可能性?

I have external .net library compiled with .net framework 4 (it's provider moved recently to .net 4)
My code currently runs on .net framework 3.5
How to use that external library in my application ?
Moving whole application to .net 4 needs time and testing, so maybe in a future i will do that, but now, what are the possibilities ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

沐歌 2024-10-13 14:11:12

不可能,.NET 3.5 附带的 CLR 版本无法加载 4.0 程序集。元数据格式已更改。您必须强制您的应用使用.NET 4.0 CLR 版本。为此,请使用 VS2010 重新编译它,目标为 4.0,或者使用包含 元素的 .config 文件来请求“v4.0”。

顺便说一句,.NET 4.0 的兼容性非常好。

There are no possibilities, the CLR version that comes with .NET 3.5 cannot load 4.0 assemblies. The metadata format was changed. You have to force your app to use the .NET 4.0 CLR version. Do so by recompiling it with VS2010, targeting 4.0, or by using a .config file that contains the <requestedRuntime> element to ask for "v4.0".

Compatibility for .NET 4.0 is excellent btw.

⊕婉儿 2024-10-13 14:11:12

虽然您无法直接加载 .Net DLL,但您可以将其包装在 COM 接口中,并在 .Net 3.5 进程中加载​​该 COM 接口。

请参阅从 .NET 文件使用基于 .NET 4 的 DLL。 NET 2 基于应用程序

有关更多背景信息,Microsoft 最初添加了In-Process .Net 4 中的 Side-by-Side 可以更好地支持应用程序通过 COM 加载加载项的场景,并且加载项是使用各种版本的 .Net 编写的。在 .Net 3.5 进程中加载​​ .Net 4 DLL 的能力只是其一个很好的副作用。

While you cannot load the .Net DLL directly, you can wrap it in a COM interface, and load that COM interface in your .Net 3.5 process.

See Using a .NET 4 Based DLL From a .NET 2 Based Application

For more background information, Microsoft originally added In-Process Side-by-Side in .Net 4 to better support the scenario where an application loads add-ins via COM, and the add-ins were written with various versions of .Net. The ability to load .Net 4 DLLs in a .Net 3.5 process is just a nice side effect of that.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文