I had three files for a userControl, all sharing a common partial class, and this caused my issue; they were named ucPlate.cs, ucPlate.Map.cs, and ucPlate.Graphics.cs. When I changed ucPlate.Graphics userControl surface to DoubleBuffered, I got the compilation error, "Error 21 Two output file names resolved to the same output path: "obj\Debug\ASMS.Controls.ucPlate.resources" Reverting to DoubleBuffered = false did not fix it, nor did deleting the .resx file that was created when I turned on DoubleBuffered (previously, there was no .resx file).
The root cause was that turning on DoubleBuffered in the subsidiary partial class file auto-added InitializeComponent() to the bottom of my code for that file. This method indicated the duplicate ucPlate name, forcing a .resx creation that already existed for the ucPlate.cs file. I had expected it to be ucPlate.Graphics.resx.
private void InitializeComponent()
{
this.SuspendLayout();
//
// ucPlate
//
this.Name = "ucPlate";
this.ResumeLayout(false);
}