无法在 WPF 项目中加载 DLL

Posted

技术标签:

【中文标题】无法在 WPF 项目中加载 DLL【英文标题】:Unable to load DLL in the WPF-project 【发布时间】:2015-01-21 08:16:30 【问题描述】:

我确实有一个我想在 WPF 项目中使用的 UserControl(作品)。当我运行应用程序时,出现以下错误

无法加载 DLL 'VCECLB.dll':找不到指定的模块。 (HRESULT 异常:0x8007007E)"

这是一个 C++ dll,如果我在引用下添加它,它会像这样进入项目文件夹:

我也将它添加到输出文件夹 \bin\x64\Release 但没有成功。我在这里做错了什么?任何反馈将不胜感激!


更新:

用于加载 UserControl 的 XAML 如下所示:

<Window x:Class="WpfApplication1LL_Neu.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:lowLightGrab="clr-namespace:LowLightGrab;assembly=LowLightGrab"
    Title="MainWindow" Height="350" Width="525">
<Grid>
    <WindowsFormsHost Height="290" HorizontalAlignment="Left" Margin="16,10,0,0" Name="windowsFormsHost1" VerticalAlignment="Top" Width="475">
        <lowLightGrab:UserControl1/>
    </WindowsFormsHost>
</Grid>
</Window>

谢谢

【问题讨论】:

***.com/questions/7793780/… 你试过这个吗? ***.com/questions/27902842/… @Ebenezar 是的,它有助于找到并加载 VCECLB.dll。因此,UserControl 似乎可以工作,但(仍然)存在一个未加载设计器的问题。 无法加载程序集“LowLightGrab”的元数据。这个程序集是我在这里使用的 UserControl。 还要检查您在 devenv.exe.config 中的设置。 “”。在网络问题的情况下可能会解决加载问题。 @Ebenezar 我已经尝试过了,但没有成功。我还不得不说两个项目(UserControl 和 WPF)都在同一个文件夹 C:\temp\.. 中。是否可以将 UserControl 项目放在 WPF 项目中以便找到元数据? 【参考方案1】:

一旦添加为参考,它将被复制到输出文件夹。

在设计时,您必须在窗口中添加:

xmlns:VCECLB="clr-namespace:VCECLB;assembly=VCECLB"

【讨论】:

以上是关于无法在 WPF 项目中加载 DLL的主要内容,如果未能解决你的问题,请参考以下文章

无法在 c# 项目中加载 cvextern

无法在新的 appDomain 中加载程序集

无法在 python 中加载 c++ DLL

无法在 python (3.4) 中加载 dll 文件

DLL 无法在 windows server 2012 中加载

无法在 Vista x64 的 C# 应用程序中加载 C++ DLL