首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正在获取程序集名称

正在获取程序集名称
EN

Stack Overflow用户
提问于 2010-11-24 19:24:03
回答 5查看 191.4K关注 0票数 215

C#的异常类有一个source属性,该属性默认情况下设置为程序集的名称。

有没有其他方法可以精确地获取这个字符串(不需要解析不同的字符串)?

我尝试过以下几种方法:

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

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-24 19:30:10

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

typeof(Program).Assembly.GetName().Name;
票数 399
EN

Stack Overflow用户

发布于 2012-05-03 21:32:23

我使用Assembly来设置表单的标题:

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;
}
票数 8
EN

Stack Overflow用户

发布于 2015-06-15 19:53:40

如果您具有程序集的完整名称,则可以使用AssemblyName类获取程序集名称:

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

AssemblyName.GetAssemblyName(e.Source).Name

MSDN Reference - AssemblyName Class

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4266202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档