Escapó correctamente el nombre del archivo db pero no la fuente de datos, por lo tanto, intenta conectarse a una fuente de datos llamada "(localdb) 11.0", que (lo más probable) no existe.
Intenta escapar correctamente así:
SqlConnection cn = new SqlConnection("Data Source=(localdb)\\v11.0;"+
"Initial Catalog=MyDB; Integrated Security=True; "+
"MultipleActiveResultSets=True; AttachDbFilename=D:\\Products.mdf");