2010-10-14 5 views
1

У меня есть сторонняя dll, которую я пытаюсь ссылаться в моем проекте Silverlight. Я могу использовать эту DLL и ссылаться на нее в тестовом приложении WPF. Попытка ссылаться на эту же DLL в моем приложении silverlight не работает. Я использую класс automationFactory, чтобы получить дескриптор DLL, но я не уверен, что я делаю это правильно.dll dll в приложении Silverlight

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» должен быть установленным приложением. –

+0

Вопрос: Что вы хотите от этой сторонней DLL? Планируете ли вы упаковать этот ddl с помощью проекта silverlight или вы принимаете он будет в пользовательской системе? –

+0

Я хочу, чтобы иметь возможность использовать свой метод печати .. там мой код ..dynamic btApp = AutomationFactory.CreateObject ("BarTender.Application"); // dynamic btMessages = null; динамический btFormat = btApp.Formats.Open ("c: \\ Temp/Format1.btw", false, ""); btFormat.SetNamedSubStringValue ("testing", barcodeValue); btFormat.Print ("Job1"); btFormat.Close (2); – gevjen

ответ

1

Silverlight представляет собой совершенно иной рамки из МОФ. Вам нужно получить dll, созданный для среды выполнения silverlight.

Причина: WPF более интегрирован в рамки windows/.net. Эта Dll может ссылаться на системные вызовы. Silverlight имеет собственную инфраструктуру (очень маленькое подмножество .net framework).


Silverlight 4:

Если грузить библиотеку: Этот парень объяснил here.


Я не предлагаю USInt интеграции COM для этой цели (я вижу что-то о Print(). Может быть, что DLL требует полной .NET Framework. Не все пользователи Silverlight будет иметь это. Его лучше всего, если вы идете WPF.

+0

Невозможно получить дескриптор на dll, а затем использовать класс AutomationFactory? – gevjen

+0

Crap, я должен удалить этот ответ, это ответ на silverlight 3. Забыл 4 поддерживаемых интеграции COM. –

+0

Если у меня есть dll, построенный для silverlight, я ссылаюсь на него так же, как и на любую другую DLL в другом проекте? – gevjen

Смежные вопросы