管理Web程序集版本控制和单个dll版本

时间:2012-07-26 12:55:09

标签: asp.net iis-6 version

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

我们根据我们的颠覆SVN版本号对我们的dll进行了强烈的版本控制。所以:

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

其中dll版本为MajorVersion.release.minorversion.SVNRevision number。

一切都很好,可以追踪。

有时我们必须在主要发布时间表之外执行紧急发布。为了最大限度地减少影响,我们通常会发布一个dll。

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

现在正在实施一个系统,用于读取和报告从dll反射出来的版本。 (不要担心这个问题,我们已经准备好使用单身和反射来做到这一点)。

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

1 个答案:

答案 0 :(得分:1)

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