2011-05-11 16 views
12

Me aparece la "Operación podría desestabilizar la excepción de tiempo de ejecución". Me quedé boquiabierto bastante, parece que la excepción tiene que ver con ensamblajes conflictivos que se cargan en tiempo de ejecución. tanto, aquí hay algunas cosasJson.NET + VerificationException La operación podría desestabilizar el tiempo de ejecución

  1. el mismo código fuente funciona en mi máquina colegas.
  2. Miré y busqué cada referencia a NewtonSoft.Json.dll y parece que proviene de un mismo ensamblado. (Creo que esto no sería un problema ya que está funcionando en máquinas de otras personas).
  3. Estoy utilizando Raven, que hace referencia a NewtonSoft, pero no se utiliza en el lado del servidor solo en el lado cliente/silverlight. También para ser compatible, me refiero a la misma versión de Newtonsoft a la que hace referencia Raven.

Ahora, el problema podría ser algo que instalé en la máquina que está afectando esto. alguna instalación de tiempo de ejecución/SP, etc. ¿Hay alguna manera de solucionar problemas? ¿Qué ocurre aquí? Miré y busqué NewtonSoft.dll cuando se ejecuta la aplicación y obtiene la versión correcta en los archivos asp.net temporales. ?

Cualquier ayuda puede ser muy apreciada. No quiero pasar por la instalación de mi tiempo de ejecución.

+0

Ese mensaje no quiere decir que, en realidad. Supongo que la biblioteca usa generación de IL: ese error generalmente significa que la IL generada es incorrecta. Por ejemplo, obtendrías eso si tu pila no se equilibrara correctamente (dice por amarga experiencia ...) –

+0

Creo que la biblioteca sí. ¿Cómo vas a depurar esto? – bkhanal

+0

Seguimiento de pila. Como puede obtener sus símbolos de depuración, vea dónde ocurre la llamada a la IL generada (tenga en cuenta que podría tratarse de algo complicado, como un getter/setter de propiedad). Desde allí camine hacia el lugar donde se genera el IL, solo tenga en cuenta que podría haber sucedido fuera de la cadena de llamadas actual. – em70

Respuesta

2

Se trata de un problema conocido.

Debería poder solucionarlo eliminando todas las referencias a la biblioteca JSON .NET y volviéndolas a agregar a los proyectos.

Consulte también:

http://json.codeplex.com/workitem/20624

JSON.Net throwing System.Security.VerificationException: Operation could destabilize the runtime

+0

Quité todas las referencias mencionadas en los comentarios anteriores y no sirvió de nada. – bkhanal

+0

Intente mirar el registro de enlace de ensamblaje (registro de fusión) para ver qué ensamblajes se cargan desde dónde y para comparar las versiones: http://msdn.microsoft.com/en-us/library/e74a18c4(v=vs.71) .aspx No se olvide de establecer la propiedad ForceLog en el registro como se describe al final del artículo para registrar todos los enlaces de ensamblaje y no solo los correctos. – aKzenT

20

Esta excepción puede ocurrir cuando se tiene Visual Studio Ultimate y IntelliTrace activados.

intenta agregar Newtonsoft.dll en IntelliTrace lista de ignorados:

  • Herramientas -> Opciones -> IntelliTrace -> Módulos
  • Agregar ->Newtonsoft.
Cuestiones relacionadas