我有一个名为Company.Base.dll
的基本程序集。
它已被用于其他一些项目。例如,我在ProjectOne.dll
中使用过它。
然而,当我在这个Company.Base.dll
中更改一个类时,比如向它的一个类添加一个方法,我会发现ProjectOne.dll
在构建后也发生了更改。为什么会这样?
以下是我采取的步骤:
- 将方法添加到
Company.Base.dll
的类 - 构建
Company.Base.dll
- 构建
ProjectOne.dll
- 比较
ProjectOne
的新dll和它的旧dll,我发现它已经改变了
为什么?
这是因为当您构建一个依赖/引用另一个项目的项目时,默认情况下构建的文件(例如ref.dll(会复制到主bin项目文件夹中,而不是构建在唯一的项目文件中。如果你转到你的主垃圾箱文件夹,你会看到这两个文件。因此,如果您对依赖项/引用项目进行了修改,则需要使用新的二进制内容更新该项目才能正常工作。您可以禁用依赖项/引用的本地副本->[参考项目名称]->属性->本地副本但是,除非你有一些程序集解析器或其他方法来解决它,否则你只会得到一个由于未更新的引用而无法正常工作的项目。