C# VS2012 中添加引用的含义?

刚学C#,并第一次使用vs2012。
每当"缺少命名空间"时都会在"解决方案资源管理器"的"引用"里添加需要的dll。
之后就可以在代码里使用using了。

我有几个疑问:
1、添加引用到底是个什么概念?
2、这个添加引用和动态加载dll有什么区别?
3、这个添加引用和静态加载lib有什么区别?
4、添加引用可以加哪些内容?只可以加dll吗?
5、添加引用和添加服务引用有什么区别呢?
6、添加引用后,程序运行时是否可以不再需要相应的dll了,就像静态加载一样?

5个回答

添加引用到底是个什么概念?
简单的说就是将你引用的dll的程序集加载到你的工程里,你就可以调用这个里面的内容了
这个添加引用和动态加载dll有什么区别?
动态加载牵扯到反射技术,你可以看看反射的实现
添加引用可以加哪些内容?只可以加dll吗?
不一定是dll甚至连exe也可以添加,可以访问exe里面实现的public类或接口
添加引用后,程序运行时是否可以不再需要相应的dll了,就像静态加载一样
有些要手动将dll拷贝到本地

这些问题你可以阅读一下《CLR via C#》但这本书比较深,在《精通C#》里面也有讲解,你可以看看

weixin_39731902
weixin_39731902 你好,能加你微信吗?
2 年多之前 回复
weixin_39731902
weixin_39731902 我发现添加完dll
2 年多之前 回复
weixin_39731902
weixin_39731902 谢谢你的回答。
2 年多之前 回复

我说的脱离添加的dll是指:程序运行时不需要相应的dll了,就像静态加载一样。

添加dll就像做网页的时候引用JavaScript和css一样,vs提供了很多功能都是封装在了一些对应的dll里面,你只有引用了dll,才能使用里面的功能

如果你会html的话应该容易理解我说的,在vs项目里,dll这些需要添加的引用就像html里面需要引用的的JavaScript和css文件一样,唯一的区别是html里你不引用js和css最多就是没有你想要的样式和功能,vs里面你不加引用它会一直报错,直到你添加了引用

weixin_39731902
weixin_39731902 谢谢你的回答。但是我有个疑问,dll是动态链接库,是运行时需要加载的库。那么我添加了引用后,程序是否可以脱离这些dll运行呢?
2 年多之前 回复

引用的添加是更多的使用类,动态库是为了使用下面的方法,我是这么理解的不晓得对不对,还请大佬指教

qq_39360178
站在巅峰的贝爷 回复weixin_39731902: 感觉引用添加的使用,就是命名空间的使用后更多用的是工具类,如system.IO等,然后用写入流等,不过确实也算是使用类的方法
2 年多之前 回复
weixin_39731902
weixin_39731902 引用类不就是为了使用类的方法
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问