当前位置: 首页 > 编程语言 > C#

System.MethodAccessException:尝试通过安全透明方法访问安全性关键方法在所有应用程序上失败分享

时间:2023-04-10 20:58:54 C#

C#学习教程:System.MethodAccessException:Attempttoaccessasecurity-criticalmethodthroughasecurity-transparentmethodfailedonallapplications所有应用程序您好,在此先感谢您的帮助,我知道这个问题或类似的问题已经发布,通常与MVC3应用程序相关。但是每当我尝试使用.net4.0目标框架从visualwebdeveloperexpress2010中启动任何应用程序时,我都会收到此错误消息。确切的错误消息是:尝试使用安全透明方法“System.Runtime.Diagnostics.DiagnosticTrace..ctor(System.String,System.Guid)”访问安全关键方法“System.Runtime.Diagnostics.EtwDiagnosticTrace..ctor(System.String,System.Guid))'失败'。程序集“System.ServiceModel.Internals,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”标有AllowPartiallyTrustedCallersAttribute并使用2级安全透明模型。2级透明度导致AllowPartiallyTrustedCallers程序集中的所有方法默认变为透明,这可能是导致此异常的原因。堆垛跟踪:[MethodAccessException:尝试通过安全透明方法'System.Runtime.Diagnostics.DiagnosticTrace..ctor(System.String,System.Guid)'访问安全关键方法'System.Runtime.Diagnostics.EtwDiagnosticTrace..ctor(System.String,System.Guid)'失败。程序集“System.ServiceModel.Internals,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”标有AllowPartiallyTrustedCallersAttribute,并使用2级安全透明模型。2级透明度导致AllowPartiallyTrustedCallers程序集中的所有方法在默认情况下变得安全透明,这可能是导致此异常的原因。]System.Runtime.Diagnostics.DiagnosticTrace..ctor(StringtraceSourceName,GuidetwProviderId)+24System.ServiceModel.Activation.FxTrace.InitializeTracing()+90System.ServiceModel.Activation.FxTrace.get_Trace()+84System.ServiceModel.ServiceHostingEnvironment.EnsureInitialized()+59System.ServiceModel.ServiceHostingEnvironment.OnEnsureInitialized(对象状态)+4System.ServiceModel.AspNetPartialTrustHelpers.PartialTrustInvoke(ContextCallback回调,对象状态)+52System.ServiceModel.ServiceHostingEnvironment.SafeEnsureInitialized()+65System.ServiceModel.Activation.Httpender.Process,EventArgse)+58System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+143System.Web.HttpApplication.ExecuteStep(IExecutionStepstep,Boolean&completedSynchronously)+69如果我创建任何基本的,我在这里完全不知所措从头开始应用程序并尝试启动它,即使没有添加任何东西,我也会看到这个错误屏幕。我试过从标签中删除target-framework="4.0"属性并运行它但没有结果。我已尝试删除属性并按照此线程中的建议添加:BadImageFormatException-Isitpossibletospecifythe.NETversiontousetousetoruntheexecutable?我尝试修复.Net4.0框架安装,因为我听说这可能是个问题。我刚刚安装了VisualWebDeveloper以便处理我从MicrosoftVisualStudio2010移出的项目,因为我的试用版已经过期,我们将不胜感激任何帮助或潜在的解决方法。我今天遇到了这个问题。据我所知,问题是.NET4.0程序集现在默认是安全关键的。安全透明代码不能调用安全关键代码。我的解决方案涉及仅在我的应用程序中的几个程序集上定义AllowPartiallyTrustedCallersAttribute。我必须从所有程序集中删除此属性或将其添加到所有程序集中。您可能需要将以下内容添加到您的AssemblyInfo.cs文件中,以便所涉及的程序集相同。[assembly:SecurityTransparent()]谢谢我来晚了,但是VS2013中的.NET4.5.1ClickOnce项目也有同样的问题,我通过打开相关ClickOnce项目的项目属性解决了这个问题打开安全选项卡将信任设置更改为“这是部分信任应用程序”将信任设置更改回“这是完全信任应用程序”希望这对其他人有帮助!显然,至少允许我在VisualWebDeveloper中启动应用程序的潜在解决方法是:所有这些都告诉我,我的.Net4.0框架安装存在问题。但是,由于我已经安装和卸载,然后又安装了至少两次.Net4.0框架,所以这是我目前唯一能想到的选择。如果有人为我提供了更适合我的更好的响应/永久解决方案,我会将其标记为答案。与此同时,我将尝试启动“安装附加框架”并再次重新安装.Net4.0TargetingPack和.Net4.0Runtime以查看它是否有效。以上为C#学习教程:System.MethodAccessException:Attemptstoaccesssecurity-criticalmethodsthroughsecurity-transparentmethodsfailonallapplications注意—本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: