Развертывание XBAP с Win32 DLL - PullRequest
       15

Развертывание XBAP с Win32 DLL

2 голосов
/ 21 января 2011

Мое приложение XBAP использует две библиотеки win32 и, как обычно, множество библиотек .Net.Поскольку мы добавляем ссылки .net к самому проекту, это не проблема, поскольку все они автоматически развертываются при публикации проекта;только то, что их имена меняются с mydotnet.dll на mydotnet.dll.deploy.

Но проблема в том, что библиотеки win32 не развертываются, и их имена не меняются.И я понимаю причину.Это потому, что я вызываю их, используя методы p / invoke, а они не добавляются в проект.Фактически, Visual Studio 2010 не позволяет мне добавлять их в ссылки.Поэтому я вручную скопировал их в папку публикации и попытался поэкспериментировать, если это работает.Но это не сработало.Ошибка браузера:

System.DllNotFoundException: Невозможно загрузить DLL 'Player.dll': указанный модуль не найден.(Исключение из HRESULT: 0x8007007E)

в Player.PlayerProxy.Initialize ()
atRunaware.WpfBrowserApp.Player.Page1.PlayFile (отправитель объекта, RoutedEventArgs e)

Можеткто-нибудь объяснит мне, что происходит?И какое-нибудь решение для этого?


Раньше я пытался делать то, что я хочу делать в Silverlight, но Остин предложил мне использовать XBAP для достижения того же.URL к предыдущей теме:

Дескриптор Silverlight UserControl

1 Ответ

1 голос
/ 21 января 2011

Можете ли вы попробовать:

  1. Проверка свойств вашего проекта в разделе «Публикация»> «Файлы приложения» и наличие там ваших собственных dll, убедившись, что они включены.

  2. Попробуйте включить dll в качестве файлов содержимого в вашем проекте, для параметра copy to output directory установлено значение Copy Always (я думаю, это может привести к их появлению в списке ссылок, упомянутых в пункте 1, что позволит вам установитьих «включить»).

...