c# - 引用非托管程序集

标签 c# .net dll reference assemblies

我试图在我的 .NET 项目中引用一个托管 DLL,而不是将它复制到我的输出目录中。因此,当我的程序运行时,它会从它安装的位置运行 DLL——无论它在哪里。问题在于这个托管 DLL 调用了非托管 DLL。当我尝试引用托管 DLL 时,它抛出 FileNotFound 异常 - 无法加载文件或程序集“CharacterGen”或其依赖项之一。系统找不到指定的文件。当我将输出设置为与我引用的 DLL 位于同一目录时,一切正常。通常的解决方案是还引用从其他程序集中调用的 DLL。但是,我无法从我的托管程序中引用非托管程序集。

有没有一种方法可以引用调用非托管 DLL 的托管 DLL?

最佳答案

如果您询问如何让 visual studio 将非托管 DLL 复制到您的输出目录,您可以这样做:

  1. 将非托管 dll 作为文件或链接文件添加到您的项目中。 (右键单击项目 -> 添加 -> 现有文件,然后添加或添加为链接)。
  2. 在解决方案资源管理器中选择文件。在属性窗口中将构建操作设置为始终复制。

关于c# - 引用非托管程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8793884/

相关文章:

dll - Win32 App插件如何将其DLL加载到自己的目录中

c# - 从 C# 调用具有复杂用户定义类型 (UDT) 的 VB6 DLL 函数

c# - Visual Studio 换行格式

c# - 将 32 位 bmp 转换为 24 位

c# - 如何设置 IdentityFactoryOptions<AppIdentityUserManager> 选项?

.net - MVC HTML Helper 自定义命名空间

c# - Azure Service Fabric 中 WCF 服务的 HTTP 终结点

c++ - 从 Delphi 使用 C++ DLL 时出现 AccessViolation

c# - 网络核心 : how to separate controllers by ports?

c# - 如何使用 C# 中的 rdlc 报告表达式在一个文本框中连接字符串值和 int 值