프로그램 실행 중에 Mono 런타임 또는 Microsoft 런타임을 사용하여 실행되는지 여부를 알고 싶습니다.어떤 .NET 런타임이 사용되고 있는지 (MS vs. Mono) 어떻게 탐지합니까?
static bool IsMicrosoftCLR()
{
return RuntimeEnvironment.GetRuntimeDirectory().Contains("Microsoft");
}
그러나 이것은 런타임의 설치 폴더에 다소 의존 내가 있는지 확실하지 않다 : 나는 현재 내가 MS CLR에있어 여부를 확인하려면 다음 코드를 사용하고
이것은 모든 설치에서 작동합니다.
현재 런타임을 확인하는 더 좋은 방법이 있습니까? 그냥 아래의 코드를 실행이
bool IsRunningOnMono = (Type.GetType ("Mono.Runtime") != null);
좋은 포인터를 가져 주셔서 감사합니다. –
결과를 저장 (캐시)하고 필요할 때마다 리플렉션을 호출 할 수도 있습니다. –