title: How to share properties between multiple Visual Studio projects? (especially C# projects)
body: <p>Keeping properties of multiple Visual Studio projects manually in sync is annoying. So, how can you share properties between multiple projects? </p>
  
  <p><em>Edit: I refer to properties like conditional compilation symbols, treatment of warnings and errors etc., i.e., things you can configure in Project->Properties tabs or by editing the project XML file.</em></p>
  
  <p>Similar questions have been asked before, see: <a href="https://stackoverflow.com/questions/111631/visual-studio-solutions-multiple-project-how-to-effectively-propagate-project">1</a>, <a href="https://stackoverflow.com/questions/414224/visual-studio-solutions-how-to-ensure-project-properties-are-shared">2</a> and <a href="https://stackoverflow.com/questions/3502530/using-visual-studio-project-properties-effectivly-for-multiple-projects-and-confi">3</a>. However, in my understanding, the answers have been C++-specific. I am looking for an answer for C# projects. Nevertheless, do not hesitate to answer for other kinds of projects (Visual Basic etc.) if you keep the separation clear, because someone else than me might be interested.</p>
  
  <p><a href="http://www.ademiller.com/blogs/tech/2007/12/common-project-settings-for-your-visual-studio-solution/" rel="nofollow noreferrer">This blog post</a> proposes a solution to the problem, but I would prefer something simpler.</p>
  
  <p>Also, you can at least solve a part of the problem in the following way (note that although I tested it, I did not test it thoroughly):</p>
  
  <p>Create an AssemblyInfo.cs file with the assembly attributes you intend to share. Link to this existing item in the individual projects. Use the original (local) AssemblyInfo.cs and put project-specific assembly attributes there. Unfortunately, overriding attributes does not seem to work, and managing the attributes via the GUI is now limited.</p>