【VS2019 C#】C#库的使用

生成dll库

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

【VS2019 C#】C#库的使用_第1张图片

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

代码的特殊处理:

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

【VS2019 C#】C#库的使用_第2张图片

 

调用dll

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

【VS2019 C#】C#库的使用_第3张图片

解决方法:

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

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

【VS2019 C#】C#库的使用_第4张图片

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

结果提示失败,如下:

【VS2019 C#】C#库的使用_第5张图片

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

【VS2019 C#】C#库的使用_第6张图片

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

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

【VS2019 C#】C#库的使用_第7张图片

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

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

【VS2019 C#】C#库的使用_第8张图片

3.代码的特殊处理:

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

问题:

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

【VS2019 C#】C#库的使用_第9张图片

解决方法:

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

【VS2019 C#】C#库的使用_第10张图片

 

 

 

 

你可能感兴趣的:(C#)