Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

747
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!