在 c# silverlight 中调用 c++ clr dll

本文关键字:c++ clr dll 调用 silverlight | 更新日期: 2023-09-27 18:31:01

我们有一个c++ clr应用程序,我们已经编译成一个dll。我们通过 c++ 代码中的托管公共 ref 类公开了几种方法。我们实际上能够让我们的本机 c# 应用程序加载这个 dll 并通过引用传递一个系统::d rawing::bitmap。我们需要做的就是添加对 dll 的引用,并且由于隐式 pinvoke 而公开了所有方法。但是,一旦我们尝试在 silverlight 应用程序中加载 dll,事情就会爆炸。显然,使用的 c++ clr .net 库与 silverlight 的库不兼容。我们已经尝试了很多方法,但就是无法让 silverlight 调用我们的 dll。

拜托,有人对如何解决这个问题有任何建议吗?什么都会被满足!

谢谢!

在 c# silverlight 中调用 c++ clr dll

我能想到三个主要选项:

  1. 在 Silverlight DLL 中重写 C++/CLR DLL 中的逻辑。 从 Silverlight 5 开始,您可以使用 P/Invoke。
  2. 创建调用 C++/CLR DLL 的 Web 服务。 Silverlight 应用程序可以调用 Web 服务,并且 Web 服务将能够使用 C++/CLR DLL。
  3. 将 C++/CLR DLL 公开为 COM 对象,在客户端计算机上安装并注册它,然后使用 Silverlight 中的 COM 支持加载 C++/CLR DLL。