VisualStudio 2010-在C#/visual studio项目中添加引用是导入库还是简单地引用它

本文关键字:引用 导入 简单 添加 2010- visual 项目 studio VisualStudio | 更新日期: 2023-09-27 17:58:22

我需要在项目中使用外部DLL库。当我添加对该库的引用时,我的项目是在导入它,还是只是在其位置引用DLL?

VisualStudio 2010-在C#/visual studio项目中添加引用是导入库还是简单地引用它

编译时,它是对该位置dll的引用。但是,编译完成后,引用的程序集可能会复制到项目的输出目录,即项目的dll或exe旁边,例如bin''Release(可配置)。您可以通过更改引用上的"复制本地"属性来控制此行为。

在运行时,会在多个位置搜索程序集,例如;主可执行文件/程序集所在的同一目录。有关详细信息,请参见通过探测定位部件。

除非使用ILMerge,否则.NET不会将引用的程序集嵌入到exe/dll中。

定义什么是"导入"?你认为它是进口到哪里的?这是一个参考。当引用被告知这样做时,文件会被复制到输出中。

当我从项目外部引用dll时,我发现dll文件被bin/Debug或bin/Release文件夹复制到。然后,链接在运行时解析,所以虽然by.exe可以四处移动,但我的路径中仍然需要这些DLL,否则我会出现"缺少引用"错误。

当我在Linux发行版上通过mono运行C#项目时,这已经折磨了我几次,直到我记得也要复制.dll文件。然后它工作得很好。