我们有运行4000 .NET 4.0网站的Win2k8服务器。我们尽可能延迟了框架更新,并且在浏览器检测时遇到__dopostback()问题,我们无法再工作了。Reference.svcmap:无法在.NET 4.5.1更新后加载文件或程序集'xxx'
我克隆了我们的一台服务器(VM),并安装了.NET 4.5.1更新。
现在我们遇到的问题是,4.5.1的行为似乎已经改变了在模块中引发DLL引用的异常,但没有上传到服务器。
例如,我们有一个Support.DLL,它以dotless.core.dll作为参考。这只用于Windows服务(引用support.dll),但从未在Web应用程序中使用,所以dotless.core.dll从未上传(也不应该)到网站。
=== Pre-bind state information ===
LOG: DisplayName = dotless.Core, Version=0.0.0.0, Culture=neutral, PublicKeyToken=96b446c9e63eae34
(Fully-specified)
LOG: Appbase = file:///C:/inetpub/root/2362/Sites/3168/Site/
LOG: Initial PrivatePath = C:\inetpub\root\2362\Sites\3168\Site\bin
Calling assembly : Support, Version=2.1.0.0, Culture=neutral, PublicKeyToken=null.
.NET 4.0框架从不抱怨,并且简单地忽略这些缺少的引用。 web.configs中没有引用。
如果我卸载了4.5.1框架更新,问题就消失了。所以这看起来是更新中的行为改变。是否有一个注册表/ machine.config选项来禁用此新行为?
不理想,但将此DLL放入GAC可解决此问题,但我们不希望在从未使用过的情况下将DLL复制到服务器。
我们有近4000个网站会在4.5.1更新应用时受到影响。部分原因是我们没有做这么久的更新。从来没有像MS想让我们相信的那样直截了当!
提前许多感谢,
保罗
为什么.svcmap在标题中? – fejesjoco
因为这是抛出的异常。应该在文中加上引号: – Beaker