Pregunta

No es exactamente lo mismo que este hilo , pero bastante cerca .

Mi programa permite a la gente a entrar en algunos VB o C # código el cual se compila, cargado y ejecutado en tiempo de ejecución. Mis CompilerParams son:

CompilerParameters params = new CompilerParameters();
params.GenerateExecutable = false;
params.GenerateInMemory = true;
params.IncludeDebugInformation = false;
params.TreatWarningsAsErrors = false;
params.WarningLevel = 4;

Cuando este código se produce una excepción que me gustaría ser capaz de mostrar un cuadro de mensaje que ayuda a los usuarios depurar su código. El mensaje de excepción es fácil, pero el número de línea es donde me quedé atrapado.

Sospecho que con el fin de conseguir en el número de línea, es posible que tenga que cambiar drásticamente las CompilerParameters y tal vez incluso la forma en que estos archivos DLL se almacenan / carga.

¿Alguien sabe los mínimos pasos necesarios para conseguir que esto funcione?

¿Fue útil?

Solución

establece OutputAssembly a un archivo temporal, establecer GenerateInMemory = false, IncludeDebugInformation = true
Eso debería generar símbolos y permitirá obtener una traza completa con líneas de código

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top