2016-06-09 2 views
0

달성하려는 작업은 다음과 같습니다. 클래스 라이브러리를 만들었지 만 하나의 라이브러리를 사용하는 여러 응용 프로그램이 있기 때문에 어떤 응용 프로그램을 사용하고 있는지 감지 할 수 있기를 원하지만 특정 응용 프로그램에서 특정 기능을 사용할 수 있도록 만들고 싶지는 않습니다. 다른 모든 응용 프로그램에서 사용할 수 있으며 단 하나의 독립 실행 형 클래스 라이브러리 만 있습니다. 클래스 라이브러리가 참조되거나 응용 프로그램에 의해 호출 될 때 검색 할 수 있도록하려는 정보는 다음과 같습니다. 응용 프로그램 이름, 버전 및 서명 된 경우.라이브러리에서 C# 클래스 라이브러리를 참조하는 응용 프로그램의 속성을 가져옵니다.

전혀 가능합니까?

+0

Eww. 나는이 소리가 싫어. 얼마나 정확하게 어떤 기능을 사용할 수 없게 되었습니까? 예외를 던지거나 뭔가를 던지기? –

답변

0

리플렉션 System.Reflection.Assembly.GetEntryAssembly()을 사용하여 응용 프로그램의 진입 점 (예 : 원래 실행 된 실행 가능 어셈블리)을 찾을 수 있습니다.

Assembly caller = Assembly.GetEntryAssembly(); 
var name = caller.GetName(); 
var version = name.Version; 

// etc. 
+0

완벽하게 작동했습니다. 정말 고마워요! – ECourant

관련 문제