2010-10-14 98 views
1

我有我想要在我的Silverlight項目中引用的第三方dll。我能夠使用此dll並在測試WPF應用程序中引用它。嘗試在我的Silverlight應用程序中引用這個相同的DLL是行不通的。我正在使用automationFactory類來獲取DLL的句柄,但我不確定是否正確執行此操作。在Silverlight應用程序中的第三方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); 
+0

我會發表評論:'BarTender'需要安裝一個應用程序 – 2010-10-14 20:31:13

+0

問題:你想從這個第三方dll中得到什麼?你打算用你的silverlight項目打包這個ddl還是假設它將在用戶系統上? – 2010-10-14 20:36:02

+0

我希望能夠使用它們的打印方法..這裏是我的代碼..動態btApp = AutomationFactory.CreateObject(「BarTender.Application」); //動態btMessages = null; dynamic btFormat = btApp.Formats.Open(「c:\\ Temp/Format1.btw」,false,「」); btFormat.SetNamedSubStringValue(「testing」,barcodeValue); btFormat.Print(「Job1」); btFormat.Close(2); – gevjen 2010-10-14 20:38:04

回答

1

Silverlight是從WPF一個完整的構想。您需要獲取爲Silverlight運行時構建的dll。

原因:WPF更加集成到windows/.net框架中。此Dll可能會引用系統調用。 Silverlight有它自己的框架(.net框架的非常小的子集)。


的Silverlight 4:

如果出貨庫:這傢伙解釋它here


,如果你去WPF我不建議用於此目的(我看到一些關於Print()。也許這DLL需要完整的.NET框架,不是Silverlight中的所有用戶都將有USINT COM集成,它的最好的。

+0

使用AutomationFactory類是不可能得到一個DLL的句柄? – gevjen 2010-10-14 20:22:40

+0

廢話,我應該刪除這個答案,這是一個silverlight 3的答案。忘記4支持COM集成。 – 2010-10-14 20:28:10

+0

如果我確實有一個爲silverlight構建的dll,我是否像在其他項目中使用其他dll一樣引用它? – gevjen 2010-10-14 20:28:19