title: .NET and COM Interoperability : cannot create object when COM+ server is out-of-process
body: <p>I defined COM visible class named Cls1 in C# , registered containing assembly  C0M+ via regsvcs tool (with assembly attributes : </p>
  
  <pre><code>[assembly: ApplicationAccessControl(false)]
  [assembly: ApplicationActivation(ActivationOption.Server)]
  </code></pre>
  
  <p>)
  When I try to create it from client code as following</p>
  
  <pre><code>Guid clsid = new Guid(sClsid_of_Cls1);
  Type oType = Type.GetTypeFromCLSID(clsid); //Here I got valid type
  Object obj = Activator.CreateInstance(oType); 
  </code></pre>
  
  <p>I got  exception System,RunSystem.Runtime.Remoting.RemotingException "Cannot load type ..."
  When I change attribute ApplicationActivation from <strong>Server</strong> , to <strong>Library</strong> , the creation succeeded<br>
  Additional information : I can create both in-process and out-of-process objects from VBS code<br>
  The question is : if I need to create out of process object from C#- what I'm missing here ?<br>
  You help will be valuable<br>
  Thanks in advance</p>