Hola y gracias de antemano por la ayuda, Sé que esta pregunta o preguntas similares se han publicado, con frecuencia con respecto específicamente a MVC 3 aplicaciones. Sin embargo, recibo este mensaje de error cada vez que intento iniciar cualquier aplicación desde visual web developer express 2010 utilizando un framework de destino .net 4.0.System.MethodAccessException: Intento por método transparente de seguridad para acceder al método crítico de seguridad falla en todas las aplicaciones
El mensaje de error exacto es:
intento de seguridad método transparente 'System.Runtime.Diagnostics.DiagnosticTrace..ctor (System.String, System.Guid)' para acceder a la seguridad del sistema crítico método '. Runtime.Diagnostics.EtwDiagnosticTrace..ctor (System.String, System.Guid) 'failed'.
Ensamblaje 'System.ServiceModel.Internals, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' está marcado con AllowPartiallyTrustedCallersAttribute y utiliza el modelo de transparencia de seguridad de nivel 2. La transparencia de nivel 2 hace que todos los métodos en los ensamblados AllowPartiallyTrustedCallers se vuelvan transparentes a la seguridad de forma predeterminada, lo que puede ser la causa de esta excepción.
Seguimiento de la pila:
[MethodAccessException: Attempt by security transparent method 'System.Runtime.Diagnostics.DiagnosticTrace..ctor(System.String, System.Guid)' to access security critical method 'System.Runtime.Diagnostics.EtwDiagnosticTrace..ctor(System.String, System.Guid)' failed.
Assembly 'System.ServiceModel.Internals, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' is marked with the AllowPartiallyTrustedCallersAttribute, and uses the level 2 security transparency model. Level 2 transparency causes all methods in AllowPartiallyTrustedCallers assemblies to become security transparent by default, which may be the cause of this exception.]
System.Runtime.Diagnostics.DiagnosticTrace..ctor(String traceSourceName, Guid etwProviderId) +24
System.ServiceModel.Activation.FxTrace.InitializeTracing() +90
System.ServiceModel.Activation.FxTrace.get_Trace() +84
System.ServiceModel.ServiceHostingEnvironment.EnsureInitialized() +59
System.ServiceModel.ServiceHostingEnvironment.OnEnsureInitialized(Object state) +4
System.ServiceModel.AspNetPartialTrustHelpers.PartialTrustInvoke(ContextCallback callback, Object state) +52
System.ServiceModel.ServiceHostingEnvironment.SafeEnsureInitialized() +65
System.ServiceModel.Activation.HttpModule.ProcessRequest(Object sender, EventArgs e) +58
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +143
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +69
estoy completamente perdido aquí. Si creo cualquier aplicación básica desde cero y trato de ejecutarla, incluso sin agregar nada, aparece esta pantalla de error. He intentado quitar el marco atributo target = "4.0" de la etiqueta
<compilation debug="true" targetFramework="4.0" />
y ejecutarlo sin ningún resultado. He intentado quitar ese atributo y añadiendo
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0.30319"/>
</startup>
como se sugiere en este tema: BadImageFormatException - Is it possible to specify which .NET version is used to run an executable? He intentado reparar la instalación NET Framework 4.0 porque he oído que puede haber un problema. Acabo de instalar el desarrollador web visual ayer por la noche para trabajar en un proyecto que pasé de Microsoft Visual Studio 2010 porque mi versión de prueba expiró, cualquier ayuda o posibles soluciones alternativas serían apreciadas.
He leído algo similar a esto en otros lugares, aunque no he podido implementarlo con éxito, creo que es la respuesta correcta. – Christian
Quitar AllowPartiallyTrustedCallersAttribute de AssemblyInfo.cs funcionó para mi solución. Obtuve el error de un ensamblaje anterior que no estaba usando las últimas versiones de .Net framework. – Apogee
Me encontré con esto después de actualizar un gran proyecto para .Net 4. Era una biblioteca ORM (Entity Spaces) que estaba decorada con AllowPartiallyTrustedCallersAttribute. Lo comenté y todo fue arreglado. ¡Gracias! –