如何在Asp.Net中访问程序集信息

时间:2011-09-22 15:04:30

标签: asp.net web-applications

如何访问Asp.Net中的程序集信息(标题,描述,公司等)? 你必须使用反射吗?

2 个答案:

答案 0 :(得分:0)

你刚才在谈论web.config?

<configuration>
  <system.web>
    <compilation>
      <assemblies>
        <add assembly="<AssemblyName>, Version=<Version>, Culture=<Culture>, PublicKeyToken=<PublicKeyToken>"/>
      </assemblies>
    </compilation>
  </system.web>
</configuration>

在代码隐藏中,你可以这样做:

Imports System.Web.Configuration
...
WebConfigurationManager.GetSection("sectionyouwant")

以下是msdn:http://msdn.microsoft.com/en-us/library/system.web.configuration.webconfigurationmanager.aspx

的示例

答案 1 :(得分:0)

要读取装配级别属性中的信息(例如AssemblyCopyrightAttribute),您需要使用反射。然而,通过一个小帮手很容易:

public static T GetAttribute<T>(this Assembly asm) where T : Attribute {
  if (asm == null) { throw new ArgumentNullException("asm"); }
  var attrs = asm.GetCustomAttributes(typeof(T), false);
  if (attrs.Length != 1) {
    throw new ApplicationException(
      String.Format("Found {0} instances of {1} in {2}. Expected 1",
        attrs.Length, typeof(T).Name, asm.FullName));
  }
  return (T)(attrs[0]);
}

因此从该程序集中给出了一个类型TargetType

string copyright = typeof(TargetType).Assembly.GetAttribute<AssemblyCopyrightAttribute>().Copyright;