添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
开朗的咖啡  ·  android ...·  1 月前    · 
安静的羽毛球  ·  Docker run for NestjS ...·  1 年前    · 

今天在引入第三方dll时弹出错误提示【未能添加对“xxx.dll”的引用。请确保此文件可访问并且是一个有效的程序集或者COM组件】,正常情况下在解决方案中添加引用:右键鼠标–>添加引用–>浏览–>选择xxx.dll文件,点击“确定”,然后再在引用管理器中选择文件进行引用,但是今天怎么也没法引入该dll。

C#添加引用的类库需要这个Dll本身是.net的程序集,或者是一个COM组件才能正常引用,而今天我用的Dll是一个第三方的Dll文件,并非标准的.net的程序集,或者是一个COM组件,所以我们引入这种Dll类库时需要使用DllImport导入函数。

为了方便,我们先把Dll文件放到应用程序…\bin\Debug\下

然后添加空间名引用:using System.Runtime.InteropServices;

在类中添加:[DLLImport(“xxx.DLL”)],如果Dll不在.....\bin\Debug\下则需要制定路径

using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
    class Program
        [DllImport("fwlibe1.dll")]
        static void Main(string[] args)

欢迎关注本人的公众号:编程手札,文章也会在公众号更新

什么是托管的dll?就是用.net代码实现的dll,可以是用C#,VB.NET实现的 什么是非托管的dll?就是不是用.net代码实现的dll,可能是用C/C+... using System.Runtime.InteropServices; [DllImport("kernel32.dll")] public static extern int Beep(int dwFreq, int dwDuration); private void WarnSound() Beep(1900, 3000); 这个不是什么新问题了,这里说一下我遇到的这个操蛋事。   转载注明出处http://www.cnblogs.com/zaiyuzhong/p/6236263.html 我做的和往常一样,找到SDK开发包中的dll文件copy到项目然后添加引用报错“未能添加xxx.dll引用,不是一个有效的blahblahblah”,试了下列网上的解决方法,未果。 想了一下演示程序里也有dll,co... 2、如果上述方法注册不成功,那么你要注意这个dll到底是什么类型的动态链接库文件了 如果是一个标准的C导出的dll,那么导入项目的方法就不是在项目中直接 引用-添加引用 了 而是把dll拷贝到exe文件输出目录,然后通过DllImport导入函数 转载注明出处https://mp... 打开项目发现一个dll引用失败,于是重新添加引用.结果报错:确保文件可访问并且是一个有效程序COM组件 报错是因为此程序/com组件未注册而导致不能直接引用. 解决方法:首先复制程序所在的路径.如: E:\aaaa\bbbb\ccc.dll然后win+R键启动运行窗口输入 cmd 回车.启动命令窗口后在光标处输入 regsvr32 E:\aaaa\bbbb\ccc.dll 直接回 C#添加引用不成功,提示:未能添加xxx.dll引用确保文件可访问并且是一个有效程序COM组件。 查了一下网上的资料,原因是需要引用Dll文件中的接口函数非.NET的dll,需要DllImport。C#添加引用需要这个dll本身是.net的程序,或者是一个COM组件。如果是一个标准的C导出Dll,那么需要用DllImport导入函数,参考互操作内容 错误提示:未能添加对XX的引用,这不是一个有效程序COM组件,只有具有扩展名dll程序COM组件才能被引用确保文件可访问,并且 是一个有效程序COM组件解决方法:运行--regsvr32 "文件所在路径及文件名" 注意:在不同的地方使用的候都要重新注册。 引用动态链接库Dll文件 引用失败 未能添加对HD.dll引用确保文件可访问并且是一个有效程序COM组件 出现这个问题,是由于使用了非.NET 的动态链接库,需要注册 方法如下: 1、在搜索程序文件中使用 regsvr32 “D:\Projects\8.01.01.03-重庆大足\lib\ValidateServerRelease32.dll” 命令就可以了 原地址:https:/... 未能添加对“***/***.dll”的引用确保文件可访问并且是一个有效程序COM 组件。 原因:dll文件使用其他语言生成,C#无法识别 解决方法: 添加usingSystem.Runtime.InteropServices; dll导入后声明函数之后即可使用 [DllImport("***.dll")]publicstaticexternint ***(in... 很能同学可能需要C#蓝牙编程,目前使用最多的有Windows.Devices.Bluetooth.dll和InTheHand.Net.Personal.dll 但是据说InTheHand.Net.Personal.dll不能支持蓝牙4.0(有待考证),这就导致市面上多数的蓝牙4.0不能用InTheHand.Net.Personal.dll程序进行编程通讯。 所以很多同学转... 症状:在开发程序, 需要引用一个库文件,但是在引用文件候出了问题,我在添加引用引用文件,但是系统给出这样的错误提示:“未能添加对 的引用,这不是一个有效程序COM组件,只有具有扩展名dll程序COM组件才能被引用确保文件可访问,并且 是一个有效程序COM组件。”解决办法:要用regsvr32注册com 才再引用具体方法开始--〉运行输入regsvr32 控件所在...