在VS2008 C#表单项目中添加引用时,Visual Studio是否复制引用的程序集

时间:2021-01-23 15:54:43

into the project directory? Or does it simply reference the dll where it exists?

进入项目目录?或者它只是引用它存在的DLL?

My assumption was that when you compile, it copies to dll into the local bin/debug(release) directory.

我的假设是,当你编译时,它会复制到本地bin / debug(release)目录中的dll。

I am running into some issues with a project at work involving missing third party component dll's and I am a little confused, so I'm not sure how to proceed.

我正在遇到一些涉及缺少第三方组件dll的项目的问题,我有点困惑,所以我不知道如何继续。

Thanks, Kevin

3 个解决方案

#1


By Default, If it is in the GAC, then it will not copy the assembly locally. If it is anywhere else, it will.

默认情况下,如果它在GAC中,则它不会在本地复制程序集。如果它在其他任何地方,它会。

If you have any doubt, look under your references list and go to the properties of the assembly in question. There is a "Copy Local" property. If you change that property, it should copy to your output project. Redo your packaging and deploy.

如果您有任何疑问,请查看您的参考列表并转到相关程序集的属性。有一个“复制本地”属性。如果更改该属性,则应将其复制到输出项目中。重做您的包装并进行部署。

#2


A reference has a property named 'Copy Local'. If this is set to true then the assembly will be copied to the output folder.

引用具有名为“Copy Local”的属性。如果将其设置为true,则程序集将复制到输出文件夹。

#3


It'll copy it if you tell it to in the properties for the reference. Indirect references (i.e. when a third party control needs yet another 3rd party control that isn't referenced) won't be, but I think you get a compiler warning if that is the case.

如果你在参考的属性中告诉它,它将复制它。间接引用(即当第三方控件需要另一个未引用的第三方控件时)不会,但我认为如果是这种情况,你会收到编译器警告。

#1


By Default, If it is in the GAC, then it will not copy the assembly locally. If it is anywhere else, it will.

默认情况下,如果它在GAC中,则它不会在本地复制程序集。如果它在其他任何地方,它会。

If you have any doubt, look under your references list and go to the properties of the assembly in question. There is a "Copy Local" property. If you change that property, it should copy to your output project. Redo your packaging and deploy.

如果您有任何疑问,请查看您的参考列表并转到相关程序集的属性。有一个“复制本地”属性。如果更改该属性,则应将其复制到输出项目中。重做您的包装并进行部署。

#2


A reference has a property named 'Copy Local'. If this is set to true then the assembly will be copied to the output folder.

引用具有名为“Copy Local”的属性。如果将其设置为true,则程序集将复制到输出文件夹。

#3


It'll copy it if you tell it to in the properties for the reference. Indirect references (i.e. when a third party control needs yet another 3rd party control that isn't referenced) won't be, but I think you get a compiler warning if that is the case.

如果你在参考的属性中告诉它,它将复制它。间接引用(即当第三方控件需要另一个未引用的第三方控件时)不会,但我认为如果是这种情况,你会收到编译器警告。