Here’s a helpful tip if you frequently find yourself wrestling with AssemblyInfo.cs (or AssemblyInfo.vb, etc.) when working with a solution with a large number of projects.
I find that most of the time, almost all the information except the AssemblyTitle, AssemblyDescription, and GUID are the same across all projects. Even the GUID you can ignore if you’re not worried about COM visibility.
Just add a SolutionInfo.cs file to the solution (not any project in particular) and put your common assembly details in there. See below for an example.
using System.Reflection; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; [assembly: AssemblyCompany( "Einstein Technologies" )] [assembly: AssemblyProduct( "My Product" )] [assembly: AssemblyCopyright( "Copyright 2009 Einstein Technologies. All rights reserved." )] [assembly: AssemblyTrademark( "" )] [assembly: AssemblyCulture( "en-US" )] [assembly: ComVisible( false )] [assembly: AssemblyVersion( "1.0.*" )]
Next go to each project, right click –> add existing item. Browse to the SolutionInfo.cs file you created above and click the glyph next to the Add button and choose Add as Link.
Now you can reduce your AssemblyInfo.cs file in that project to the lines below and feel confident that everything else is consistent across the projects.
using System.Reflection; [assembly: AssemblyTitle( "Plugin Framework" )] [assembly: AssemblyDescription( "A class library that defines plugin interfaces and stuff." )]
Bonus tip: I tend to drag the linked SolutionInfo.cs file into the special “Properties” folder alongside AssemblyInfo.cs. But Visual Studio won’t let you add files directly to this folder via the UI.