首页 > 解决方案 > 为什么在修改引用的程序集时会重建其他程序集?

问题描述

我有一个名为Company.Base.dll.

它已在其他一些项目中使用。例如我在ProjectOne.dll.

但是,当我在 this 中更改一个类时Company.Base.dll,比如向其中一个类添加一个方法,我发现它ProjectOne.dll在构建后也发生了变化。为什么会这样?

以下是我采取的步骤:

  1. 给一个类添加一个方法Company.Base.dll
  2. 建造Company.Base.dll
  3. 建造ProjectOne.dll
  4. 比较新的 dllProjectOne和旧的 dll,我发现它已经改变了。

为什么?

标签: c#visual-studiobuilddependency-managementsolution

解决方案


这是因为当您构建一个项目时,它是另一个项目的依赖项/引用,默认情况下,构建的文件(例如 ref.dll)会复制到主 bin 项目文件夹,而不是构建在唯一的项目文件中。如果您转到主 bin 文件夹,您将看到这两个文件。因此,如果您对依赖项/引用项目进行修改,则需要使用新的二进制内容更新该项目才能正常工作。您可以禁用依赖项/引用上的本地副本-> [引用项目名称]-> 属性-> 本地副本但是除非您有一些程序集解析器或可以解决它的东西,否则您只会得到一个无法正常工作的项目,因为未更新的参考。


推荐阅读