 <p>It seems like you misunderstanding some concepts in software development process. This:</p> <blockquote> <p>Since I want to manage both projects at the same time, I created a new solution for second application, which subclasses the necessary forms and classes</p> </blockquote> <p>is a very bad idea. </p> <p>In fact, new functionality brings you to new <em>version</em> of your software.<br> Do not inherit anything. Just make a development branch (in terms of source control) for your previous project version, and continue to develop new version, extending functionality. </p> <p>This will allow you to get two, completely independent versions of your software, which you will support simultaneously.</p>