Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Reference.svcmap:无法加载文件或程序集';xxx和x27;在.NET 4.5.1更新之后_C#_Asp.net_.net_Dll - Fatal编程技术网

C# Reference.svcmap:无法加载文件或程序集';xxx和x27;在.NET 4.5.1更新之后

C# Reference.svcmap:无法加载文件或程序集';xxx和x27;在.NET 4.5.1更新之后,c#,asp.net,.net,dll,C#,Asp.net,.net,Dll,我们有运行4000.NET4.0网站的Win2k8服务器。我们已经尽可能地推迟了框架更新,并且遇到了浏览器检测的_dopostback()问题,我们无法再解决这些问题了 我克隆了一台服务器(VM),只安装了.NET4.5.1更新 我们现在遇到的问题是,4.5.1的行为似乎已经改变了,因为它为模块中的DLL引用抛出异常,但没有上载到服务器 例如,我们有一个Support.DLL,它以dotless.core.DLL作为引用。这仅在windows服务(引用support.dll)中使用,但从未在we

我们有运行4000.NET4.0网站的Win2k8服务器。我们已经尽可能地推迟了框架更新,并且遇到了浏览器检测的_dopostback()问题,我们无法再解决这些问题了

我克隆了一台服务器(VM),只安装了.NET4.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.
NET4.0框架从未抱怨过,只是忽略了这些缺失的引用。web.configs中没有引用

如果我卸载4.5.1框架更新,问题就会消失。所以这看起来确实是更新中的行为改变。是否有注册表/machine.config选项来禁用此新行为

不太理想,但将此DLL放入GAC可以解决问题,但我们不希望在从未使用DLL时开始将其复制到服务器

当应用4.5.1更新时,我们有近4000个网站将受到影响。部分原因是我们这么长时间没有更新。从未像微软希望我们相信的那样直截了当

多谢各位


Paul

您实际上可以修复根本原因,因为存在浏览器检测问题的热修复程序:

MSDN没有说明改变的行为:。你有堆栈跟踪吗?可能是.NET 4.5.1中的某些其他更改导致您的代码指向DLL中引用缺少的DLL的位置


我创建了一个小型解决方案,一个类库和一个引用类库的控制台应用程序。如果将参数传递给控制台应用程序,它将调用类库,否则不会。我编译了它并删除了类库DLL。结果:当我通过争论时,它抱怨它无法加载程序集,否则根本就没有任何问题。只有当您实际输入引用它的方法时,引用加载才会发生。因此,我认为在这方面没有任何新的行为。

为什么标题中有.svcmap?因为这是抛出的异常。应在文本周围加引号: