title: Copy DLL-s on building multi-solution MEF application
body: <p>I use visual studio 2010 to develop and build on .net framework 4.0. I also use the Managed Extensibility Framework for a basic plugin system.</p>
  
  <p>I have 2 solutions:</p>
  
  <p>The main solution with 6 projects, One is executable the other 5 are class libraries. They reference each other and they are built into a solution level bin folder (the bin folder is next to the project folders). This way all the built bin files are in the same folder, and MEF can collect all the DLL-s in a simple DirectoryCatalog.</p>
  
  <p>This works fine (except for 1 thing, that starting the application does not rebuild all the other projects, since they are not dependencies, but this is not what this question is about).</p>
  
  <p>The other (extension) solution has 2 projects, they are both class libraries and should be somehow added to the directory MEF uses to build it's catalog.</p>
  
  <p>There is a few ways of doing this, I'm just unable to find the cleanest one.</p>
  
  <p>So the issues to solve are:</p>
  
  <ol>
  <li><p>The extension solution's projects reference projects from the first solution, so I navigated to the main solution's bin folder on the add reference screen and added all the required references. Will the references update on building the main solution, or do will I need to somehow copy the DLL-s manually?</p>
  
  <ul>
  <li>The intellisense should recognise the change, so after changing and building the main solution should be recognised and intellisense should update while editing the extension solution.</li>
  <li>The main solution is buildable on it's own and does not know anything about the extension solution. Let's keep it that way. I wouldn't write a build task to the main solution that copies the dll's to the other solution's folder.</li>
  <li>The solutions are hosted on an SVN server. It would be a great plus if getting the solutions with ankhsvn on a new computer and building both solutions would require no further configuration.</li>
  </ul></li>
  <li><p>On building the projects of the extension solution the DLL-s should be copied to the directory that MEF uses for it's catalog (the bin directory of the main solution). It would be good if it also worked upon getting it fresh from svn. This can be done by a build task, but which is the best way to reference an other solution's folder?</p>
  
  <ul>
  <li>I think that it wouldn't be a great compromise if the solutions directories must be next to each other (and have the default name) to work (this way I could just use an other level of ../ to reference it). Is it a decent solution? Is there any drawbacks I'm not aware of?</li>
  </ul></li>
  </ol>