3

标题中的问题。

我想避免重新编译,因为我正在修改的源代码是第三方的,我想尽可能使用原始二进制文件,并且只替换包含我修改的类的程序集。但我不确定这是否安全。例如,在 C++ 中,这绝对是一个坏主意。

4

3 回答 3

6

不。

引用您的库的程序集使用(某种形式的)名称来引用方法和类型,因此只要您不更改公共类型和方法的名称(由其他程序集使用),您就不需要重新编译任何程序集 - 它们将与库的更新版本一起使用。

于 2010-05-20T00:07:39.583 回答
1

在大多数情况下,托马斯的回答是正确的,但也有一些情况不正确:

  1. 当使用强命名(签名)时,单个字符的更改会导致新的签名,从而导致新的强名称。
  2. 在您的程序集的项目引用中将属性特定版本设置为 true 并在AssemblyInfo.cs中手动或自动更改版本号
于 2010-05-20T06:28:57.733 回答
0

不会。所有其他程序集将自动使用新更新的库。

于 2010-05-20T05:02:05.093 回答