Intento de leer o escribir en la memoria protegida

Empecé a ver una AccessViolationException lanzada en mi aplicación en varios puntos diferentes. Nunca ocurrió en mi pc de desarrollo, nuestro servidor de prueba. También solo se manifestó en 1 de nuestros 2 servidores de producción. Como solo parecía suceder en uno de nuestros servidores de producción, comencé a buscar en las versiones de .NET framework instaladas en los servidores.

Descubrí que (por alguna extraña razón), el servidor de producción que tenía problemas tenía 2.0 sp2, 3.0 sp2 y 3.5 sp1, mientras que el otro servidor de producción y el servidor de prueba tenían 2.0 sp1.

Mi aplicación solo está orientada al framework 2.0, decidí desinstalar todas las versiones de framework del servidor de producción e instalar solo 2.0 sp1. Hasta ahora no he podido reproducir el problema. Muy interesante.

PC de desarrollo: compacto 2.0 sp2, compacto 3.5, 2.0 sp2, 3.0 sp2, 3.5 sp1 Servidor de prueba: 2.0 sp1 Servidor de producción1: 2.0 sp1 Servidor de producción2: 2.0 sp2, 3.0 sp2, 3.5 sp1

Ahora, por qué no puedo reproducir el problema en mi pc de desarrollo que tiene 2.0 sp2 en él, no puedo entenderlo. Escuché rumores de que esta violación de acceso puede ocurrir en algún software que utiliza la comunicación remota, lo que hace el mío, pero la violación de acceso nunca se produce cuando realmente ocurre la comunicación remota. Estoy de acuerdo con el uso de 2.0 sp1 por ahora, pero estoy realmente interesado en saber si alguien ha tenido este problema, y ​​si encontraron una solución alternativa para las versiones más recientes de frameowork.

Aquí hay un par de excepciones y sus seguimientos de stack:

System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at ICSharpCode.TextEditor.TextArea.HandleKeyPress(Char ch) at ICSharpCode.TextEditor.TextArea.SimulateKeyPress(Char ch) at ICSharpCode.TextEditor.TextArea.OnKeyPress(KeyPressEventArgs e) at System.Windows.Forms.Control.ProcessKeyEventArgs(Message& m) at System.Windows.Forms.Control.ProcessKeyMessage(Message& m) at System.Windows.Forms.Control.WmKeyChar(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) System.AccessViolationException: Attempted to read or write protected memory. This is often an indication that other memory is corrupt. at System.Windows.Forms.UnsafeNativeMethods.CallWindowProc(IntPtr wndProc, IntPtr hWnd, Int32 msg, IntPtr wParam, IntPtr lParam) at System.Windows.Forms.NativeWindow.DefWndProc(Message& m) at System.Windows.Forms.Control.DefWndProc(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.TextBoxBase.WndProc(Message& m) at System.Windows.Forms.RichTextBox.WndProc(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) 

Yo tuve el mismo problema. 2.0 funcionó bien. después de instalar hasta 3.5 sp1, la aplicación obtiene una Infracción de acceso.

instalado http://support.microsoft.com/kb/971030 y mi problema está resuelto, aunque no estoy utilizando LCG.

Microsoft también lanzó una revisión (2 de julio de 2007) para evitar el error “Intentó leer o escribir en la memoria protegida” que ha estado plagando la plataforma .NET 2.0 desde hace algún tiempo. Mire http://support.microsoft.com/kb/923028 : no está seguro de si se aplica a usted, pero pensó que le gustaría echarle un vistazo.

Tuve el mismo problema después de actualizar de .NET 4.5 a .NET 4.5.1. Lo que lo solucionó fue ejecutar este comando:

netsh winsock reset