title: Interop Error 430 Class Does Not Support Automation
body: <p>I have a VB.NET assembly that I have registered for Interop. I am using a class in this assembly in my VB6 projects.</p>
  
  <p>In an existing VB6 project I added a reference to the type library and run the following code:</p>
  
  <pre><code>Dim vizDataSingleton As Vizual_Data.Singleton
  Set vizDataSingleton = New Vizual_Data.Singleton
  </code></pre>
  
  <p>The second line errors <em>"Run-time error 430: Class does not support Automation or does not support expected interface"</em></p>
  
  <p>However if I start a blank VB6 project and add the reference, the exact same code works fine.</p>
  
  <p>I checked the reference to the tlb in the vbp file and they are both identical.</p>
  
  <p><code>Reference=*\G{BDB20DDF-D3B7-4484-8950-35D67DED45EC}#4.2#0#..\Vizual.Data\Vizual.Data\bin\Debug\Vizual.Data.tlb#VMS Data Structure Library</code></p>
  
  <p>I tried using late binding as well:</p>
  
  <pre><code>Set vizDataSingleton = CreateObject("Vizual.Data.Singleton")
  </code></pre>
  
  <p>This errors in the existing project with <em>"Type mismatch"</em> but again works in the new project</p>
  
  <p>Any ideas why this fails in one project but works in another?</p>