title: Why am I getting assembly version as 0.0.0.0? Will that make any issues if real DLL has some version number and using Type class to retrieve values?
body: <p>I have a project named "Test.LiveModel" (<code>Test.LiveModel.dll</code>) and its version is 8.0.7.0 in my solution which contains 25 projects.  I can see the information of <code>Test.LiveModel</code> in <code>AssemblyInfo.cs</code>.  I have two category of objects named 'base class category' and 'user-defined class category' which are displaying in my application UI. I am displaying this through a property  which is of class <code>Type</code></p>
  
  <p>Now I am considering one base class category object named "Server" and one user-defined class category object <code>RoundedTree</code>.  When I set value as "Server" in Property in Grid after saving it when I restart my application I can see the saved value, but for "RoundedTree" which is not happening due to type becomes null.  So I did a thorough analysis and came to know that issue is in <code>ToType()</code> method shown below 
  This is <code>ToType()</code> metho</p>
  
  <p>For base class <code>Server</code> <code>xmlSerializableType.Name</code>, I am getting as <code>Test.LiveModel.Server</code> and <code>AssemblyName</code> I am getting as <code>Test.LiveModel, Version=8.0.7.0, Culture=neutral, PublicKeyToken=23bd062a94e26d58</code> and <code>type</code> I am getting by using <code>Type.GetType</code> as <code>type = {Name = "Server" FullName = "Test.LiveModel.Server"}</code>  </p>
  
  <p>But for user defined class <code>xmlSerializableType.Name</code> I am getting as <code>_Rounded_Tree</code>.  'type' I am getting as <code>null</code> by using <code>Type.GetType</code>.  <code>AssemblyName</code> I am getting as <code>_Rounded_TreeTest-Machine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</code>, but even <code>assembly.GetType</code> I am getting as null.  What is the reason behind it?  Why am I getting assembly version 0.0.0.0?  I mean full assembly <code>_Rounded_TreeTest-Machine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</code>.</p>
  
  <p>This is the method <code>CreateType()</code> which will create assembly and type as <code>myTypeBuilder</code> for userdefined class:</p>
  
  <pre><code> public Type CreateType()
    {
  
       // Create the assembly name by appending the machine name to the typename.
       myAsmName.Name = this.TypeName + Environment.MachineName;
       // Define assembly that can be executed but not saved
       this.UserClassAssemblyBuilder = myDomain.DefineDynamicAssembly(myAsmName, AssemblyBuilderAccess.Run);
       // Create dynamic module with symbol information
       this.UserClassModuleBuilder = this.UserClassAssemblyBuilder.DefineDynamicModule("userdefinedmodule", true);
  </code></pre>
  
  <p>So here is my question: if real Dll has some version number, and user defined class assembly has version 0.0.0.0, is that the reason why I am getting type as null after using <code>Type.GetType</code> and <code>assembly.GetType</code> method?</p>