【问题标题】:3rd Party dll in Silverlight applicationSilverlight 应用程序中的第 3 方 dll
【发布时间】:2012-01-21 07:53:04
【问题描述】:

我有一个第三方 dll,我试图在我的 Silverlight 项目中引用它。我能够使用这个 dll 并在测试 WPF 应用程序中引用它。尝试在我的 silverlight 应用程序中引用相同的 dll 不起作用。我正在使用自动化工厂类来获取 dll 的句柄,但我不确定我是否正确执行此操作。

dynamic btApp = AutomationFactory.CreateObject("BarTender.Application");

通过将 Bartender.Application 作为 CreateObject 方法中的参数,我可以获得 dll 的句柄,但恐怕它不是正确的 dll。如何引用我需要使用的特定 dll。


代码

dynamic btApp = AutomationFactory.CreateObject("BarTender.Application"); 
//dynamic btMessages = null; 
dynamic btFormat = btApp.Formats.Open("c:\\Temp/Format1.btw", false, "");
btFormat.SetNamedSubStringValue("testing", barcodeValue); 
btFormat.Print("Job1");
btFormat.Close(2);

【问题讨论】:

  • 我会发表评论:BarTender 需要是已安装的应用程序。
  • 问题:你想从这个第 3 方 dll 中得到什么?您打算将此 ddl 与您的 silverlight 项目打包还是假设它将在用户系统上?
  • 我希望能够使用他们的打印方法..这是我的代码..dynamic btApp = AutomationFactory.CreateObject("BarTender.Application"); //动态btMessages = null;动态 btFormat = btApp.Formats.Open("c:\\Temp/Format1.btw", false, ""); btFormat.SetNamedSubStringValue("测试",barcodeValue); btFormat.Print("Job1"); btFormat.Close(2);
  • 底部的 btFormat.Print 方法不起作用..我没有从他们那里得到正确的 sdk...所以我试图引用他们给我的这个新 dll..但我似乎不能掌握它...
  • AutomationFactory.CreateObject 似乎没有引用正确的 dll...想知道如何获取特定 dll 的句柄。

标签: c# silverlight


【解决方案1】:

Silverlight 是一个与 wpf 完全不同的框架。您需要获取为 silverlight 运行时构建的 dll。

原因:WPF 更多地集成到 windows/.net 框架中。此 Dll 可能会引用系统调用。 Silverlight 有自己的框架(.net 框架的一个很小的子集)。


银光4:

如果运送图书馆:这个人解释了它here


我不建议为此目的使用 int COM 集成(我看到了一些关于 Print() 的信息。也许该 DLL 需要完整的 .net 框架。并非所有 silverlight 的用户都会拥有它。最好使用 WPF。

【讨论】:

  • 难道不能在使用 AutomationFactory 类的情况下获得 dll 的句柄吗?
  • 废话,我应该删除这个答案,这是 silverlight 3 答案。忘记了 4 支持的 COM 集成。
  • 如果我确实有一个为 silverlight 构建的 dll,我是否像引用其他项目中的任何其他 dll 一样引用它?
  • 有关此 AutomationFactory 的任何指导以及我如何获取此 dll 的句柄,如果 SL4 确实这样做..
  • 我将编辑我的帖子,您可以使用 COM 集成来引用非 silverlight dll。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多