Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

748
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda