c# - 为什么在修改引用的程序集时会重建其他程序集?
问题描述
我有一个名为Company.Base.dll
.
它已在其他一些项目中使用。例如我在ProjectOne.dll
.
但是,当我在 this 中更改一个类时Company.Base.dll
,比如向其中一个类添加一个方法,我发现它ProjectOne.dll
在构建后也发生了变化。为什么会这样?
以下是我采取的步骤:
- 给一个类添加一个方法
Company.Base.dll
- 建造
Company.Base.dll
- 建造
ProjectOne.dll
- 比较新的 dll
ProjectOne
和旧的 dll,我发现它已经改变了。
为什么?
解决方案
这是因为当您构建一个项目时,它是另一个项目的依赖项/引用,默认情况下,构建的文件(例如 ref.dll)会复制到主 bin 项目文件夹,而不是构建在唯一的项目文件中。如果您转到主 bin 文件夹,您将看到这两个文件。因此,如果您对依赖项/引用项目进行修改,则需要使用新的二进制内容更新该项目才能正常工作。您可以禁用依赖项/引用上的本地副本-> [引用项目名称]-> 属性-> 本地副本但是除非您有一些程序集解析器或可以解决它的东西,否则您只会得到一个无法正常工作的项目,因为未更新的参考。
推荐阅读
- reactjs - React - 窗口调整大小后获取 element.getBoundingClientRect()
- python - 如何修改已打印的文本?
- terraform - Terraform:基于 .tfvars 中的变量有条件地创建资源
- c - 访问冲突写入位置 - 二维字符数组
- excel - 试图保护具有多个用户的工作簿免受用户 2、3 等的影响
- jquery - 如何在日期范围选择器 JQuery 插件中限制小时
- javascript - TypeError:无法读取未定义的属性“状态” - 呈现内容
- json - 如何在 Flutter 中解析列表中的列表?
- c# - 如何让游戏对象旋转并远离 Unity 中的 MouseClick 位置?
- java - Android Studio (Java) 未按顺序接收正确的 Button 值