2012-08-27 62 views
1

我的bin文件夹中存在System.Web.DataVisualization.dll。 我有复制和拍下以下注册标记在我的页面从interner和.dll工作正常。在Web应用程序中注册程序集

<%@ 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的版本? 在此先感谢

回答

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();