1

作为我们发布程序的一部分,我的公司发布了几个网站。一般来说,这一切都是在每个人都同意的时间点完成的,等等。

我们根据我们的 subversion SVN 修订号对我们的 dll 进行强烈版本控制。所以:

[assembly: AssemblyVersion("2.22.0.13724")]
[assembly: AssemblyFileVersion("2.22.0.13724")]

其中 dll 版本是 MajorVersion.release.minorversion.SVNRevision 编号。

一切都很好,而且可以很好地追踪。

有时,我们必须在主要发布计划之外进行紧急发布。为了尽量减少影响,我们通常会发布单个 dll。

我们发现,如果我们更改版本号,那么这会破坏网站。不知道为什么,我必须承认,但我假设这与 IIS 或什么有关?!

现在正在实施一个系统,该系统将读取并报告从 dll 中反映的版本。(不用担心,我们已经准备好使用单例和反射来做到这一点)。

所以我的问题是:有没有办法在不破坏通过 IIS6 运行的构建的情况下更新单个 dll 的版本号?IIS 如何引用它需要的 dll,这与该 dll 的版本有什么关系?

4

1 回答 1

1

IIS 不应该与它有任何关系。应用程序中的所有其他程序集都在引用某个 DLL,如果您只是放入具有新版本号的新 DLL,则引用旧 DLL 的那些 DLL 现在将中断。IIS 只是为您将所有内容编译在一起。但是,如果程序集 A 正在寻找程序集 B、V1 并且您替换了 Assembvly B、V2,则程序集 A 的引用现在无效。

于 2012-07-26T13:58:40.433 回答