title: Inherit an abstract class without any constructor
body: <p>I want to inherit a class from another class, marked as abstract, that not have any constructor defined.</p>
  
  <p>This is my code:</p>
  
  <pre><code>// In one assembly (TheMessage.dll), as seen via F12 in VS (from Metadata)
  namespace Namespace1 
  {
      public abstract class Message
      {
         public string Body { get; set; }
         // some abstract methods here, not shown.
      }
  }
  
  // In another assembly (TheUser.dll)
  namespace Namespace2
  {
      public class MyMessage : Namespace1.Message
      {
           public MyMessage()
           {
           }
      }
  }
  </code></pre>
  
  <p>The problem is that on the <code>public MyMessage()</code> constructor I get the error </p>
  
  <blockquote>
    <p>The type 'Namespace1.Message' has no constructors defined</p>
  </blockquote>
  
  <p>I saw on MSDN site (<a href="http://msdn.microsoft.com/en-us/library/sf985hc5.aspx" rel="nofollow noreferrer">abstract (C# Reference)</a> first example) that inheriting an abstract class without constructor is possible. So, anyone know why I get this error?</p>
  
  <p>Note that one can inherit just fine when type is in the same DLL as the Message class and it works as that assembly exposes some other types deriving from <code>Namespace1.Message</code> similar to following:</p>
  
  <pre><code>// The same assembly  as Message (TheMessage.dll), as seen via F12 in VS (from Metadata)
  namespace Namespace3
  {
      public class Message : Namespace1.Message
      {
          public Message() {}
          public Message(string to) {}
      }
  }
  </code></pre>
  
  <hr>
  
  <p>I've also checked <a href="https://stackoverflow.com/questions/6958358/the-type-has-no-constructors-defined">The type &#39;...&#39; has no constructors defined</a>, but it does not speak about inheritance but rather just new-ing up an instance and I clearly have no expectations to directly instantiate an instance of an abstract class.</p>