Не совсем то же, что и this thread, но довольно близко.Линейный номер для исключения, сгенерированный во время выполнения кода DotNET
Моя программа позволяет людям вводить код VB или C#, который скомпилируется, загружается и выполняется во время выполнения. Мои CompilerParams являются:
CompilerParameters params = new CompilerParameters();
params.GenerateExecutable = false;
params.GenerateInMemory = true;
params.IncludeDebugInformation = false;
params.TreatWarningsAsErrors = false;
params.WarningLevel = 4;
Когда этот код генерирует исключение, я хотел бы быть в состоянии отобразить окно сообщения, которое помогает пользователям отладки кода. Сообщение об исключении легко, но номер строки - это место, где я застрял.
Я подозреваю, что для того, чтобы получить номер строки, мне может потребоваться радикальное изменение параметров CompilerParameters и, возможно, даже то, как эти DLL-файлы будут сохранены/загружены.
Кто-нибудь знает наименьшие шаги, необходимые для его работы?
Спасибо Том, я боялся, что был ответ , Теперь мне нужно выяснить, как удалить все эти файлы dll и pdb * после того, как мое приложение отключится ... Любые идеи по этому поводу? –
просто создайте их в каталоге Windows Temp, чтобы окна заботились об этом: Path.GetTempFileName() – TJF
Вот где я их помещаю, но эта папка близка к 1 Gig на моей машине, если кто-то ее заботится, они делая неряшливую работу ... –