未能加载文件或程序集怎么解决

未能加载文件或程序集怎么解决,第1张

解决办法如下:

1、在项目的引用目录里添加,rebuild 运行项目。

2、如果1不能解决问题,那么可以选中项目project,点击鼠标右键,选择属性,在引用路径下,查看右侧的引用路径是否拿指正确,如果不正确,remove掉,重新添加即可,rebuild 运行项目。

3、如果上述两个步骤还是没有解决问题,那么就需要注册一下程序集。

(1)、以管理员身份进入CMD命令提示框。

(2)、找到VS版本的注册程序集工具,如果Framework2.0默认安装的则是这个旁敏缺目录下:C:\Windows\Microsoft.NET\Framework\v2.0.50727,找到RegAsm工具。

(3)、将工具的路径输入CMD命令框 ,并且输入工具名称regasm,按运辩空格,写上程序的dll路径。

(4)、rebuild项目。

1

比如系统报错如下:【关键字解析错误:未能加载文件或程序集“ADODB, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=*******”或它的某一个依赖项。系统找不到指定的文件。】。

这种错误的出现是因为另一台计算机上面没有对应的DLL动态链接库文件,处理思路是把本机的链接库文件拷贝春塌到对方的相应的位置,使程序在对方的电脑中运行时也能正确调用动态链接库文件,就不会再报错了。

END

1

拷贝原始DLL文件,

在原始编程电脑上找到目录,

C:\Program Files\Microsoft.NET\Primary Interop Assemblies,拷贝目录里面的DLL文件。

2

在对方出现报错的电脑中找到对应的目录。

3

将缺少的DLL文件拷贝到对方电脑中。

4

就可以正常的调试程序了。

END

在原始编程电脑上找到目录

C:\Program Files\Microsoft.NET\Primary Interop Assemblies,拷贝目录里面的DLL文件。

2

因为原始编程电脑为XP,目标电脑为WIN 7或其它系统,在对方的电脑中找态正不到这个相同的目录。

3

将缺少帆森悔的DLL文件拷贝到EXE执行文件目录中。

4

就可以正常的调试程序了。

要想用.NET开发组件动态链接库,并将类和资源公开以服务于其他任何编程语言,需要在项目中做以下设置:

1、创建一个类库项目/解决方案(此例TestCom),哗洞打开项目属性

2、选择“应用程序”选项卡,点击“程序集信息”按钮以打开程序集信息对话框

此处也可维护程序集名称和命名空间

3、在程序集对话框中勾选“使程序集COM可见”,然后确定。

此处也可维护项目版本信息和GUID,当GUID有冲突时可以通过VS的“工具”菜单中点击“创建GUID”来获取,一般为默认。

4、选择“生成”选项卡,勾选“为COM互 *** 作注册”。

如需要同时将注释与DLL一起分享出去,以方便其他程序员了解你的DLL接口和说明,则勾选“XML 文档文件”,如此生成项目时会将项目中所有注释生成一个XML文档。

需要注意的是,该配置是独立的,也可以将配置项设置为“所有配置”。

5、选择“签名”选项卡,勾选“为程序集签名”,然后点击新建,打开“创建强名称密钥“窗口。

6、维护密钥文件名,然后确认。

如果需要防反编译,则勾选密码保护密钥文件,然后设置密码(不设置密码不影响DLL注册到系统)。

7、DLL注册

每次编译之后都要重新注册一次,以更新注册信息,VS2019在生成(编译)项目之后会自动注册,这点非常方便。而VS2010及以前的版本需要手工 *** 纵(其他版本没用过)。

VS2010 注册步骤:

为了方便睁芦岁 *** 作,搜索到regasm.exe,将其复制到DLL所在文件夹,然后按WIN+R键后输入CMD打开命令窗口,

用CD命令定位到DLL所在文件夹输入以下命令:

Regasm <项目名称>.dll /tlb:  <项目名称>.tlb /codebase

其中<项目名称>替换为你的项目名称,也可以将命令编辑到BAT文件,这样每次编译之后执行bat即可。

到此为止大功告成,VBA中或其他编程环境就可以调用C#开发的组件对象了。

8、编写类和接口代码

要让组件中的所有需要公开的资源可见,必须为其创建接口。 见图例

示例中定义了一个Class1的类,该类只有一个方法Link,用于拼接字符串,为了公开此类和方法,必须再定义一个接口。

(定义接口时有个简单的方法,当你调试好类代码之后,复制悉睁整个类代码,然后将Class关键词改为interface,然后去掉所有方法的修饰词public以及实体代码并补一个分号。)

最后生成完成编译,编译之后需要注册以更新(VS2019会自动注册)。

这里要说明的是,几番测试发现,VS2019中不定义接口也能调用,只是无法使用点 *** 作符显示方法/属性列表。

9、 Excel VBA中调用组件。

按alt+F11打开你的VBA项目,然后从菜单中打开引用,滚动到 TestCom(或者是你的组件名)并勾选,如果没找到回到VS检查项目属性是否设置正确。

10、      在模块中调用类库。

懒得编辑插图了,见我的博客园文章

C#组件项目设置与开发应用范例


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8245076.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存