Load server side assembly : Assembly « Development « ASP.NET Tutorial






<%@ Page language="C#" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace="System.Reflection" %>
<html>
 <head>
  <script language="C#" runat="server">
    private string GetAssemblyInfo()
    {
      StringBuilder sb = new StringBuilder();
      try
      {
        string assemblyFile = @"C:\WINNT\Microsoft.NET\Framework\v1.0.3705\mscorlib.dll";
        Assembly assemblyInfo = Assembly.LoadFrom(assemblyFile);

        sb.Append("CodeBase: ");
        sb.Append(assemblyInfo.CodeBase);
        sb.Append("<br>Location: ");
        sb.Append(assemblyInfo.Location);
        sb.Append("<br>FullName: ");
        sb.Append(assemblyInfo.FullName);
        sb.Append("<br>Manifest Resource Names: ");
        
        string[] resourceNames = assemblyInfo.GetManifestResourceNames();
        for (int i=0; i<resourceNames.Length; i++)
        {
          string name = resourceNames[i];
          if (i>0) sb.Append(",");
          sb.Append(name);
        }

        Type[] types = assemblyInfo.GetTypes();
        foreach (Type typeInfo in types) 
        {
          sb.Append( "<h2>" + typeInfo.FullName + "</h2>");
          sb.Append("Number of Constructors: ");
          sb.Append(typeInfo.GetConstructors().Length.ToString());
          sb.Append("<br>Number of Properties: ");
          sb.Append(typeInfo.GetProperties().Length.ToString());
          sb.Append("<br>Number of Fields: ");
          sb.Append(typeInfo.GetFields().Length.ToString());
          sb.Append("<br>Number of Events: ");
          sb.Append(typeInfo.GetEvents().Length.ToString());
          sb.Append("<br>Number of Methods: ");
          sb.Append(typeInfo.GetMethods().Length.ToString());
          sb.Append("<br>Is Class: ");
          sb.Append(typeInfo.IsClass);
          sb.Append("<br>Is Interface: ");
          sb.Append(typeInfo.IsInterface);
          sb.Append("<br>Is Enum: ");
          sb.Append(typeInfo.IsEnum);
          sb.Append("<br>Attributes: ");
          sb.Append(typeInfo.Attributes);
          sb.Append("<br>GUID: ");
          sb.Append(typeInfo.GUID.ToString());
        }
      }
      catch (Exception ex)
      {
        sb.Append( "Error: " + ex.ToString() ) ;
      }
      
      return sb.ToString();
    }

    private void RetrieveInfo_Click(object sender, System.EventArgs e)
    {
      OutputClass.Text = GetAssemblyInfo();
    }
  </script>
    <title>Reflect Class</title>
  </head>
  <body>
    <form id="ReflectClass" method="post" runat="server">
      <asp:button id="RetrieveInfo" onclick="RetrieveInfo_Click" runat="server" Text=" Retrieve Assembly Info "></asp:button>
      <br><br>
      <asp:label id="OutputClass" runat="server"></asp:label>
    </form>
  </body>
</html>








9.3.Assembly
9.3.1.Building Component Libraries by Using the C# Command-Line Compiler
9.3.2.Make an assembly available to an ASP.NET application
9.3.3.Adding an Assembly to the Global Assembly Cache
9.3.4.Building Basic Components
9.3.5.Components and Dynamic Compilation
9.3.6.Mixing Different Language Components in the App_Code Folder
9.3.7.Declaring Methods
9.3.8.Declaring Fields and Properties
9.3.9.Component with Property
9.3.10.Adding comments to a component.
9.3.11.Using ASP.NET Intrinsics in a Component
9.3.12.Load server side assembly