今天在引入第三方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 控件所在...