Let's say I have two dll projects: A1.dll and B1.dll. Let's say that B1.dll references A1.dll. Now let's say that I want to add functionality similar to what is already in A1.dll, but because the added functionality must reference B1.dll, I assume I have to make A2.dll. (If I just add this functionality to the exitsing A1.dll, I will cause a circular reference, which I believe should be avoided.)
So now I have A1.dll, B1.dll that references A1.dll, and A2.dll that inherits from A1.dll and also references B1.dll. We want A2.dll to Inherit A1.dll so that all of the "A" functionality is referenceable from A2.dll. All is fine. If I now want to add functionality to B1 and if that new functionality must reference A2, then I assume I have to make a B2.dll that inherits from B1.dll and references A2.dll. This could go on for many, many levels of reference. Is this the right approach or am I missing something?
And yes, I know I can throw all the functions into a single dll, but I am trying to organize my projects by major function (A versus B) so that there is some modularity when it comes to maintenance.
Any help would be appreciated.


Public Class Resource Private Shared m_AppLog As SEDLAK.AppLog = Nothing Public Shared Property AppLog() As SEDLAK.AppLog Get Return m_AppLog End Get Set(ByVal value As SEDLAK.AppLog) m_AppLog = value End Set End Property End Class