C# Microsoft在.NET 4.5.x中实践瞬时故障处理

C# Microsoft在.NET 4.5.x中实践瞬时故障处理,c#,azure,C#,Azure,我们最近将源代码升级到.NET4.5,遇到了一个瞬时故障处理问题。作为升级的一部分,我们将Microsoft.Practices.TransientFaultHandling.Core.dll文件版本从5.0.1118.0更改为5.1.1209.1(可能相关,也可能无关)。我们创建了自己的IsTransient实例,现在运行应用程序时出现以下错误: 重写成员时违反了继承安全规则: 'Microsoft.Practices.EnterpriseLibrary.WindowsAzure.Transi

我们最近将源代码升级到.NET4.5,遇到了一个瞬时故障处理问题。作为升级的一部分,我们将Microsoft.Practices.TransientFaultHandling.Core.dll文件版本从5.0.1118.0更改为5.1.1209.1(可能相关,也可能无关)。我们创建了自己的IsTransient实例,现在运行应用程序时出现以下错误:

重写成员时违反了继承安全规则: 'Microsoft.Practices.EnterpriseLibrary.WindowsAzure.TransientFaultHandling.ServiceBus.ServiceBustTransientErrorDetectionStrategy.IsTransient(System.Exception)'。 重写方法的安全可访问性必须与 正在重写的方法的安全可访问性

到目前为止,我已经尝试了以下方法,但没有成功:

  • 将DLL复制到GAC
  • 在方法和程序集级别添加了
    [SecurityCritical]
    ,并尝试了不同的安全标头
  • 在AssemblyInfo.cs中添加了
    [程序集:System.Security.SecurityRules(System.Security.SecurityRuleSet.Level2,SkipVerificationFullTrust=true)]
    ,并作为类的标题。我也试过在Level1中使用这种方法,并尝试删除SkipVerification
  • 所以现在我正式陷入困境。据我所知,这个问题是由于.NET4中的新安全规则造成的,但到目前为止,我尝试的所有修复都不起作用。以前是否有人在此特定DLL中遇到过此特定问题(或类似问题)