c# - 如果类更改,是否需要重新编译和重新部署项目中的所有程序集?

标签 c# .net

如果我有一个包含一定数量公共(public)类的类库(对于本例为 5 个)并且我有 3 个项目依赖于该库(对于本例)并且我决定更改其中一个类,但只有 1 个3 个项目中的一个取决于该类。

我是否需要编译/链接/部署所有 3 个项目?

.NET 基本上是依赖于类的名称还是具有某种类型的寻址依赖性? (我有 C++ 背景,所以我知道在 C++ 中我必须重新部署所有 3 个项目)。

最佳答案

如果类继承自接口(interface),并且您不更改接口(interface)(而只更改类实现),那么如果依赖程序集仅依赖接口(interface)与类进行通信,则您不必更改它们。

如果更改依赖程序集所依赖的类的 API(如方法签名或名称),则必须修复依赖程序集才能使用新 API。这包括对类本身名称的更改。

所以这里的关键是提供一个稳定的API。如果更改 API,则必须更改依赖于 API 的代码。如果程序集不依赖(即它不依赖于您正在更改的任何 API 依赖项),则您不必重新部署它。

关于c# - 如果类更改,是否需要重新编译和重新部署项目中的所有程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324001/

相关文章:

c# - javascript也可以将下面的内容添加到表格中吗

c# - 如何获取一个aspx页面的源代码

c# - 将列表的最后一个元素与之前的元素进行比较的简化语法?

.net - 如何以编程方式查找正确的 Microsoft Office 产品版本号(和服务包)?

c# - 向 Windows 窗体消息循环发送或发布消息

c# - 重定向到图像

c# - 在 C# 中,^ 字符有什么作用?

c# - 如何手动调用事件?

C# 在程序集之外读取资源 .resx 文件引发 MissingManifestResourceException

.net - 如何确定程序集是使用哪个 dotnet sdk 构建的