218

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"
}
4

5 に答える 5

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

また

typeof(Program).Assembly.GetName().Name;
于 2010-11-24T11:30:10.493 に答える
9

アセンブリを使用して、フォームのタイトルを次のように設定します。

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;
}
于 2012-05-03T13:32:22.733 に答える
3

アセンブリの完全な名前があれば、クラスを使用しAssemblyNameてアセンブリ名を取得できます。

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

また

AssemblyName.GetAssemblyName(e.Source).Name

MSDN リファレンス - AssemblyName クラス

于 2015-06-15T11:53:39.767 に答える