[英]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:
你能试一下吗:
检查“发布”>“应用程序文件”部分下的项目属性,并在其中显示您的本机dll,确保将其设置为包括。
尝试将dll作为内容文件包含在项目中,并将“复制到输出”目录设置为“始终复制”(我认为这可能会使它们出现在第1点提到的引用列表中,允许您将其设置为“包含”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.