1

请任何人解释这一点。这个问题有助于理解常见的事情

问题:

当您“DLL通过浏览选项将一个项目的引用添加DLL到另一个项目和将解决方案项目的引用添加到另一个项目以及从一个项目复制粘贴到另一个项目”之间有什么区别?

我在谷歌上找到了答案

回答:

添加项目引用会将本地项目的 DLL 添加到引用它的项目中,并且每次编译解决方案时,都会将该项目的更新 DLL 复制到另一个项目。因此,当您完成构建过程时,如果您有 5 个项目,每个项目都会重新构建其 DLL,并将该 DLL 复制到其引用中。

但:

我不知道我们从一个项目复制粘贴到另一个项目时的过程和区别?

4

2 回答 2

3

当您将粘贴从一个项目复制到另一个项目时,依赖项目会将其对您粘贴到项目解决方案目录中的文件的引用添加

当您将一个项目的 dll 复制粘贴到另一个项目的目录时,然后通过浏览到您粘贴 dll 的目录来添加其引用。然后 VS 只添加它的引用并将该 dll 复制到它的 bin 文件夹中,并向您显示(允许您)它包含的所有方法和属性。

如果您对源项目解决方案进行任何更改,例如添加或修改方法,则该项目的更新 dll 在您的依赖项目解决方案中不可用。

所以VS仍然指向旧的dll文件,只是因为你添加了引用。因此,每当您对源项目解决方案进行任何更改时,您都必须每次都将更新后的 dll 的引用添加到您的依赖解决方案中。

在第二种情况下:当您将源项目的引用添加到您的依赖项目解决方案中时,VS 总是将源项目中最新更新的 dll 放入您的依赖项目中。所以这样就不需要每次编译代码或者调试的时候都添加引用了。

于 2014-03-06T08:14:06.337 回答
1

当您只是通过浏览来引用一个 DLL 时,VS 会将其复制到依赖项目的输出目录中。

假设之后更新了 DLL - 不保证 VS 会重新获取更新的 DLL,并将其再次复制到依赖项目的输出目录 - 这意味着,即使您修复了另一个项目中的一些错误,这些错误也会保留在依赖项目中(因为它仍在使用该 DLL 的先前版本)。

当您在解决方案中添加对其他项目的引用时,VS 将始终采用从该项目输出的最新和更新的 DLL。

于 2014-03-06T07:46:55.003 回答