【VS2019 C#】C#库的使用

生成dll库

C# 和 VC++ 生成库的方法类似,只是不能生成静态库,只能生成动态库,工程配置如下:

然后编译就会生成dll文件了。

代码的特殊处理:

在对外的类和函数前面加上 public,才能被调用,如下:

 

调用dll

1.右键添加引用,但提示一个错误,如下:

解决方法:

a.以管理员身份打开 Developer Command Prompt for VS 2019(vs2019开发人员命令提示符)。

可能比较难以找到这个快捷方式,那么,可以通过 everything 来找到,如下:

b.定位到你的vs2019的安装目录,比如命令进入:

cd "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\PrivateAssemblies"

c.然后执行下面的命令,

gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

结果提示失败,如下:

那么,该怎么办呢?从提示信息可以看出是找不到该文件,但是通过everything一搜索,该目录下确实有该文件,如下:

最后改成绝对路径就OK了,如下:

gacutil -i "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\PublicAssemblies\Microsoft.VisualStudio.Shell.Interop.11.0.dll"

当看到“程序集已经成功添加到缓存中”,重启VS即可。

2.把dll添加进来,如下:

3.代码的特殊处理:

比C++的简单多了,无需任何特殊处理,就和调用代码一样调用就行。

问题:

但是,运行的时候,到了调试dll的地方,就中断了,再也跑不起来了,如下 :

解决方法:

1.“处于中断模式”只是表面,要看异常的具体提示“未能从程序集XXXX...加载类型XXX", 原因是我的exe程序和dll文件时使用的相同的名字,把dll的生成名字改一下就行,如下:

 

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值