1

我的 bin 文件夹中有一个 System.Web.DataVisualization.dll。我已经从内部复制并在我的页面中轻拍了以下注册标签,并且 .dll 工作正常。

<%@ Register Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
    Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>

现在我的问题是如何从 System.Web.DataVisualization.dll 中查找或确定程序集的版本和命名空间?如何确定此 System.Web.DataVisualization.dll 的版本?提前致谢

4

1 回答 1

1

您将不得不使用反射:

  Assembly[] myAssemblies = Thread.GetDomain().GetAssemblies();

  Assembly myAssembly = null;
  for(int i = 0; i < myAssemblies.Length; i++)
  {
     if(String.Compare(myAssemblies[i].GetName().Name, 
                       "System.Web.DataVisualization") == 0)
     {
        myAssembly = myAssemblies[i];
        break;
     }
  }
  var myVersion  = myAssembly.GetName().Version;

  var namespaces = myAssembly.GetTypes()
                     .Select(t => t.Namespace)
                     .Distinct();
于 2012-08-27T09:56:27.733 回答