관리되는 코드 실행이 시작된 어셈블리를 찾아야합니다.null을 반환하지 않는 'Assembly.GetEntryAssembly()'대안이 필요합니다.
// using System.Reflection;
Assembly entryAssembly = Assembly.GetEntryAssembly();
이 길을 가야하는 것처럼 보이지만 MSDN reference page for Assembly.GetEntryAssembly
는 주장이이 방법 "[C] 관리되지 않는 코드에서라는 경우는 null."
이 경우, 어떤 어셈블리가 관리되지 않는 코드에 의해 호출되었는지 알고 싶습니다.
신뢰할 수있는 방법, 즉 항상 null이 아닌 Assembly
참조를 반환하는 방법이 있습니까?
// using System.Diagnostics;
// using System.Linq;
Assembly entryAssembly = new StackTrace().GetFrames().Last().GetMethod().Module.Assembly;
(위의 미리보기가없는 실행 속도 나 메모리에 대한 이해의 용이성을 위해 최적화되어 있습니다 :