UWP FullTrustProcess无法加载dll

时间:2018-11-01 07:57:37

标签: c# uwp desktop-bridge

我将uwp和winforms项目用作完整的信任过程。在winF项目中,我已通过NuGet将引用添加到Dotras.dll。 Dll已添加到参考中,一切看起来都不错,从winforms启动直接效果很好。 但是,当启动UWP并调用fullTrustProcess(连接正常,发送消息)并尝试调用Dotras.dll引发异常时。

  

无法加载文件或程序集'DotRas,版本= 1.3.5166.33435,文化=中性,PublicKeyToken = b378f04384b7892a'或其依赖项之一。系统找不到指定的文件。

我尝试将引用添加到UWP项目中,但它不允许执行,因为目标是.net核心,而DotRas是.net框架。 任何提示将dll放在哪里以使其起作用?谢谢!

1 个答案:

答案 0 :(得分:3)

确保将exe和dll部署到同一文件夹。

这是怎么回事。

在Visual Studio中打开项目,这里有一个Assets文件夹,通常用于存储徽标图像。

通过右键单击文件夹将exe和dll都放入该文件夹,然后在菜单中选择“添加新项”,并将其Build Action设置为Content,因此在应用程序部署期间,它们将将被复制到C:\Program Files\WindowsApps\YouPackageFamilyName\文件夹下的Assets中的安装目录。

在appxmanifest文件中,确保可执行文件路径正确。

<desktop:Extension Category="windows.fullTrustProcess" Executable="Assets\YourWinForms.exe">
</desktop:Extension>

编辑:不必是Assets文件夹,关键是将dll添加到项目中,并将Build Action设置为Content并放入文件夹作为exe。