title: Compile C# code dynamically without using original required assemblies
body: <p>I'm compiling the C# code written by end-user dynamically in my software. In order to compile the code I need to add some assemblies as reference to CompilerParameters.</p>
  
  <pre><code>CompilerParameters loParameters = new CompilerParameters();
  loParameters.ReferencedAssemblies.Add("C:\A.dll")
  loParameters.ReferencedAssemblies.Add("C:\B.dll")
  </code></pre>
  
  <p>Therefore I should release these assemblies ("A.dll" and "B.dll") with my software, but because of security reason I don't want the user can access the source of these assemblies by reverse engineering.</p>
  
  <p><strong>Note 1</strong>: I can remove the implementation of methods in required assemblies (A and B) but my assemblies are very large and I can't do it manually.</p>
  
  <p><strong>Note 2</strong>: I know about obfuscation but I don't want to use that.</p>
  
  <p><strong>Note 3</strong>: I just need to compile the code successfully and I don't want to run it.</p>