记一个Type or Namespace Not Found Error(类型或命名空间找不到错误)的解决

昨天写个自用工具。报了Type or Namespace Not Found Error。找了好久资料都没解决。最后一个大神哥们说了句加入gac试试。

立马百度了一下资料,按其步骤解决了,做个记录,看谁能碰得到,记得收藏哦。

生成的C# DLL需要以管理员权限打开工程和编译,以便自动注册。同时,可以将程序集添加到GAC(全局程序集缓存)以让系统管理员通过用户权限来控制Assembly的访问。具体操作步骤如下:

1.以管理员权限打开C# DLL工程并编译。
2.在命令提示符中输入

regasm phstool.dll /tlb: phstool.tlb /codebase

3.将类型库导入到注册表。
输入

gacutil /i phstool.dll

将此.net程序集添加到GAC。

顺便进一步了解了一下gac

在没有加入GAC(Global Assembly Cache)时,可能会出现以下错误和提示:

1.文件找不到错误(File Not Found Error):当程序引用了一个未加入GAC的程序集时,如果该程序集的路径无法找到或者文件不存在,就会报文件找不到错误。

2.类型或命名空间找不到错误(Type or Namespace Not Found Error):如果程序引用了一个未加入GAC的程序集,但是该程序集中定义的类型或命名空间无法找到,就会报类型或命名空间找不到错误。

3.版本冲突错误(Version Conflict Error):如果程序引用了多个版本的同一个程序集,而这些版本之间存在冲突,就会报版本冲突错误。这种情况下,编译器无法确定使用哪个版本的程序集。

4.引用错误(Reference Error):当程序引用了一个未加入GAC的程序集,但是该程序集的依赖项缺失或者版本不匹配时,就会报引用错误。这种情况下,需要手动解决依赖项问题或者更新程序集版本。

5.运行时异常(Runtime Exception):在运行时,如果程序使用了未加入GAC的程序集,并且该程序集存在问题或者与其他组件不兼容,就可能导致运行时异常。这些异常可能包括类型转换异常、方法调用异常等。

在此记录分享。愿大家少走弯路(记得将phstool改成你自己的问题dll哦。感谢前人的踩坑。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值