Если вы хотите знать, была ли dll построена в режиме отладки с атрибутами отладки, тогда вам лучше всего задуматься.
Взято из " Как узнать, отлажена или выпущена существующая сборка ":
Assembly assembly = Assembly.GetAssembly(GetType());
bool debug = false;
foreach (var attribute in assembly.GetCustomAttributes(false)){
if (attribute.GetType() == typeof(System.Diagnostics.DebuggableAttribute)){
if (((System.Diagnostics.DebuggableAttribute)attribute)
.IsJITTrackingEnabled){
debug = true;
break;
}
}
}
Это позволит получить сборку, которая вызывает этот код (в действительности сам), а затем установить для логического значения отладки значение true, если сборка была скомпилирована в режиме отладки, в противном случае это false.
Это можно легко перенести в консольное приложение (как в связанном примере), а затем вы передадите путь к dll / exe, который вы хотите проверить. Вы бы загрузили сборку с пути, подобного этому:
Assembly assembly =
Assembly.LoadFile(System.IO.Path.GetFullPath(m_DllPath.Text));