visual una studio librerias libreria crear como c# c++ visual-studio-2008 c++-cli unmanaged

c# - studio - Cómo ingresar a una biblioteca C++ no administrada desde mi código C++/CLI



crear dll en c# visual studio 2017 (2)

Cuando he tenido este problema, proviene de una de estas cosas:

1) Habilitar la depuración del código no administrado no verificado. Ya arreglaste esto.

2) Construyó el EXE como x64 o cualquier CPU (dicen que x64 funciona, pero no funciona). Creo que ya arreglaste esto.

3) "Solo mi código" se enciende a veces causa problemas con la depuración del código no administrado (Herramientas, Opciones, Depurador, Sólo mi código)

4) Opciones de depuración incorrectas en la configuración del proyecto C ++

5) Archivos PDB perdidos, corruptos o no coincidentes. Puede comprobar esto intentando establecer un punto de interrupción en su código C ++ mientras se ejecuta en el depurador. Si el punto de interrupción se convierte en un círculo hueco, algo está mal con su información de depuración. También verifique su ventana de salida a medida que se ejecuta en modo de depuración: debería indicarle de quién se cargaron los símbolos.

Tengo los siguientes tres proyectos en mi solución: 1. Biblioteca C # 2. Código administrado C ++ / CLI 3. Código no administrado C ++

Revisé "Habilitar la depuración de código no administrado" en mi proyecto de C #, y creé ambos proyectos de C ++ en Debug / Win32. Sin embargo, no puedo entrar en el código no administrado: cuando hago F11 en la llamada de cualquier método no administrado, me muestra algún código aleatorio / incorrecto que luego sale.

Debido a que mis pruebas de unidad pasan, sé que mi código no administrado se ejecuta.

¿Qué me estoy perdiendo?


He visto este problema de la "otra" manera de vez en cuando (es decir, desde C ++ nativo a C ++ / CLI) y generalmente es causado por el depurador que realmente no detecta que se supone que debe depurar el código nativo y el código administrado.

Por lo general, para mí, configurar el Tipo de depurador en Propiedades de configuración -> Depuración en su proyecto de inicio de ''Auto'' a ''Mixto'' resuelve el problema.