c# - 无法添加引用 .NET

标签 c# .net visual-studio-2010

我有一个 DLL,我想将其添加为对我的项目的引用,但每次我尝试这样做时都会弹出一个对话框告诉我:

The reference could not be added. Please make sure that the file is accesible, and that it is a valid assembly or COM component.

我做了一些研究,发现错误是因为程序集不受 .NET 管理,我应该使用 DLLImport 属性,但是,我在另一台计算机上有完全相同的解决方案,一切正常。

区别在于我尝试添加引用的新计算机是 x64 而旧计算机是 x86。

我有 x64 和 x86 DLL,但无法添加。为什么会这样?

最佳答案

您不能在 Visual Studio 中添加非托管 DLL 作为引用,无论 32/64 的“位数”如何。我怀疑它能否在您的 x86 机器上运行。

“普通”DLL 和 COM-DLL 之间存在差异。

您可以在系统注册后添加对 COM-DLL 的引用(实际上您引用公开的 COM 对象并且自动添加对 DLL 的引用)。这可以在“添加引用”对话框的“COM”选项卡上完成(此处您必须确保在大多数情况下您的项目构建为 x86 目标)。

如我所说,“普通”DLL 根本无法添加。您可以在解决方案中包含它们(右键单击解决方案,选择“添加现有文件”),但除非您声明如下内容,否则它们不会被引用

[DllImport("...")]
public static extern void MyFunction();

我怀疑在你的其他解决方案中,有某种包装 DLL,你实际上正在引用它并且包含 DLL 导入。

关于c# - 无法添加引用 .NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619952/

相关文章:

c# - 如何在 ASP.NET 5 DI 中配置嵌套依赖?

c# - 存储 Windows 服务的配置和日志文件的最佳位置

c# - 替换字符串中的多个字符(创建有效的文件夹名称)

c# - 根据目录结构重新组织命名空间

c# - 从并发字典中获取所有值并在不丢失数据的情况下清除它

c++ - 打印到 Visual Studio 中的输出窗口

c# - 数据绑定(bind) WPF ComboBox 不显示选定值

c# - StateHasChanged/this.StateHasChanged 似乎对 Blazor 组件没有影响

c++ - 找不到或不匹配 'mpiexec' 的调试信息。无法找到或打开 PDB 文件

visual-studio-2010 - 如何在 Visual Studio 2010 中禁用有关扩展更新的通知