Programing

어셈블리 이름 얻기

crosscheck 2020. 5. 23. 10:10
반응형

어셈블리 이름 얻기


C #의 예외 클래스에는 기본적으로 어셈블리 이름으로 설정된 소스 속성이 있습니다.
이 정확한 문자열을 얻는 다른 방법이 있습니까 (다른 문자열을 구문 분석하지 않고)?

나는 다음을 시도했다.

catch(Exception e)
{
    string str = e.Source;         
    //"EPA" - what I want               
    str = System.Reflection.Assembly.GetExecutingAssembly().FullName;
    //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    str = typeof(Program).FullName;
    //"EPA.Program"
    str = typeof(Program).Assembly.FullName;
    //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    str = typeof(Program).Assembly.ToString();
    //"EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
    str = typeof(Program).AssemblyQualifiedName;
    //"EPA.Program, EPA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
}

System.Reflection.Assembly.GetExecutingAssembly().GetName().Name

또는

typeof(Program).Assembly.GetName().Name;

어셈블리를 사용하여 양식 제목을 다음과 같이 설정합니다.

private String BuildFormTitle()
{
    String AppName = System.Reflection.Assembly.GetEntryAssembly().GetName().Name;
    String FormTitle = String.Format("{0} {1} ({2})", 
                                     AppName, 
                                     Application.ProductName, 
                                     Application.ProductVersion);
    return FormTitle;
}

System.Reflection.AssemblyTitleAttribute.Title속성 을 사용하는이 코드를 시도 할 수 있습니다.

((AssemblyTitleAttribute)Attribute.GetCustomAttribute(Assembly.GetExecutingAssembly(), typeof(AssemblyTitleAttribute), false)).Title;


AssemblyName어셈블리의 전체 이름이있는 경우 클래스를 사용하여 어셈블리 이름을 가져올 수 있습니다 .

AssemblyName.GetAssemblyName(Assembly.GetExecutingAssembly().FullName).Name

또는

AssemblyName.GetAssemblyName(e.Source).Name

MSDN 참조-AssemblyName 클래스


Assembly.GetExecutingAssembly (). Location

참고 URL : https://stackoverflow.com/questions/4266202/getting-assembly-name

반응형