繁体   English   中英

使用Win32 DLL部署XBAP

[英]Deploying XBAP with win32 DLL

我的XBAP应用程序使用两个Win32 dll,并且通常使用许多.Net dll。 由于我们将.net引用添加到项目本身,因此这不是问题,因为它们在发布项目时都会自动部署。 只是它们的名称从mydotnet.dll更改为mydotnet.dll.deploy

但是问题是,win32 dll没有得到部署,它们的名称也没有改变。 我知道原因。 这是因为我使用p / invoke技术来称呼它们,而没有将它们添加到项目中。 实际上,Visual Studio 2010不允许我将它们添加到引用中。 因此,我手动将它们复制到了发布文件夹,并尝试进行试验是否可行。 但这没有用。 浏览器显示的错误是这样的:

System.DllNotFoundException:无法加载DLL'Player.dll':找不到指定的模块。 (来自HRESULT的异常:0x8007007E)

在Player.PlayerProxy.Initialize()
atRunaware.WpfBrowserApp.Player.Page1.PlayFile(对象发送者,RoutedEventArgs e)

谁能解释我发生了什么事? 有什么解决方案吗?


以前,我试图在Silverlight中做我想做的事情,但是Austin建议我使用XBAP来实现相同的目的。 上一个主题的URL:

处理Silverlight UserControl

你能试一下吗:

  1. 检查“发布”>“应用程序文件”部分下的项目属性,并在其中显示您的本机dll,确保将其设置为包括。

  2. 尝试将dll作为内容文件包含在项目中,并将“复制到输出”目录设置为“始终复制”(我认为这可能会使它们出现在第1点提到的引用列表中,允许您将其设置为“包含”)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM