我们最近将源代码升级到.NET 4.5,并遇到了Transient Fault处理问题。作为升级的一部分,我们将Microsoft.Practices.TransientFaultHandling.Core.dll文件版本从5.0.1118.0更改为5.1.1209.1(可能相关也可能不相关)。我们创建了自己的IsTransient即时实现,现在运行应用程序时出现以下错误:
覆盖成员时违反了继承安全规则: ' Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling.ServiceBus.ServiceBusTransientErrorDetectionStrategy.IsTransient(System.Exception的)&#39 ;. 覆盖方法的安全性可访问性必须与 被覆盖的方法的安全可访问性。
到目前为止,我已经尝试了以下但没有成功:
[SecurityCritical]
,并尝试了不同的安全标头。[assembly: System.Security.SecurityRules(System.Security.SecurityRuleSet.Level2, SkipVerificationInFullTrust = true)]
并作为该类的标题。我也尝试过Level1并尝试删除SkipVerification。所以现在我被正式卡住了。据我所知,问题是由于.NET 4中的新安全规则,但到目前为止我所尝试的修复程序都没有奏效。有没有人在此特定DLL之前(或类似)遇到此特定问题?