Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

755
Vistas
El nombre '$excepción' no existe en el contexto actual

Hoy estaba depurando una aplicación en mi trabajo. Procedí a establecer un punto de interrupción en uno de mis bloques catch para inspeccionar una excepción con más detalle.

La ventana modal View Detail detalles se abre normalmente, pero en lugar de mostrarme los detalles de la excepción, me arroja un error extraño, uno que nunca obtuve, ni sé lo que significa:

Ver detalles de excepción

El error dice:

El nombre '$excepción' no existe en el contexto actual

Esto es frustrante porque estoy dentro del alcance del bloque catch, por lo que debería poder ver mi excepción.

Después de reiniciar mi aplicación, logré depurarla muy bien. Esta fue la única vez (hasta ahora) que recibí este error.

¿Alguien sabe qué significa y cómo puedo solucionarlo (sin tener que reiniciar la aplicación)?

NOTA : estoy usando Visual Studio 2012 Premium . Versión 11.0.61030.00 Actualización 4

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Intente decirle explícitamente al compilador cómo importar el dll. Ex:

 using System; using System.Runtime.InteropServices; namespace BitmapProcessingCs { public static class NativeMethods { [DllImport("BitmapProcessingCpp.dll", CallingConvention = CallingConvention.Cdecl)] public static extern void GenerateBitmap(IntPtr src, int dimension); } }
over 4 years ago · Santiago Trujillo Denunciar

0

Resolví el mismo problema en estos pasos:

paso 1) Si programa su archivo DLL personalizado en C++ con Visual Studio, luego, en la página de propiedades de su proyecto, establezca el parámetro Common Language Runtime Support (/clr) en Common Language Runtime Support (/clr) .

paso 2) Para hacer funcionar la desaceleración en el archivo .h , use la palabra clave __declspec(dllexport) como se muestra a continuación:

 __declspec(dllexport) double Sub(int a,int b);

paso 3) Cree y exporte el archivo DLL, luego use el software Dependency Walker para obtener su función EntryPoint .

paso 4) Importe el archivo DLL en el proyecto C# y establezca la variable EntryPoint y CallingConvention como se muestra a continuación:

 [DllImport("custom.dll", EntryPoint = "?Sub@@Y234NN@Z", CallingConvention = CallingConvention.Cdecl)] public static extern double Sub(int a,int b);
over 4 years ago · Santiago Trujillo Denunciar

0

Eche un vistazo a la biblioteca de MSDN: https://msdn.microsoft.com/en-us/library/ms164891.aspx

Según ellos, obtendrá una excepción si intenta evaluar un objeto de excepción si no ha ocurrido ninguna excepción. Pero, dado que está en el bloque catch, se produjo una excepción... Sin ver el código, es difícil de adivinar, pero ¿es posible que tenga varios subprocesos en ejecución y la excepción fue consumida por un subproceso antes de ser manejada? ¿por otro? Realmente no tiene sentido, pero vale la pena mirar. Una opción segura (r) sería asegurarse de verificar si la excepción es nula en su registrador, antes de intentar obtener detalles de él. También vale la pena mirar: HttpRequestException contiene una excepción interna, ¿cuál podría ser la fuente de su referencia nula? Solo especulando.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda