Question

I have a System.Web.DataVisualization.dll present in my bin folder. Now I have added the registration tag to my page as below:

  1. <%@ Register Assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Namespace="System.Web.UI.DataVisualization.Charting" TagPrefix="asp" %>
Now how to deermine the Assembly and Namespace from System.Web.DataVisualization.dll?

Answer
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using System.Web.UI;
  6. using System.Web.UI.WebControls;
  7. using System.Reflection;
  8. using System.Threading;
  9. public partial class _Default : System.Web.UI.Page
  10. {
  11. protected void Page_Load(object sender, EventArgs e)
  12. {
  13. Assembly[] myAssemblies = Thread.GetDomain().GetAssemblies();
  14. Assembly myAssembly = null;
  15. for (int i = 0; i < myAssemblies.Length; i++)
  16. {
  17. if (String.Compare(myAssemblies[i].GetName().Name,
  18. "System.Web.DataVisualization") == 0)
  19. {
  20. myAssembly = myAssemblies[i];
  21. break;
  22. }
  23. }
  24. if (myAssembly != null)
  25. {
  26. //This will give the Version Information.
  27. var myVersion = myAssembly.GetName().Version;
  28. //This will give the Namespace Infromation.
  29. var namespaces = myAssembly.GetTypes()
  30. .Select(t => t.Namespace)
  31. .Distinct();
  32. }
  33. }
  34. }

1. You can find the Version Information from the following code statement.

  1. var myVersion = myAssembly.GetName().Version;
Image 1.jpg

2. You can also find the Namespace Information from the following code statement:

  1. var namespaces = myAssembly.GetTypes()
  2. .Select(t => t.Namespace)
  3. .Distinct();

Image 2.jpg

3. So I can generate the register tag as follows:

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