Non ho ancora capito perché questo si verifichi, ma avevo delle classi nella mia App_Codecartella che chiamavano metodi l'una nell'altra e andavo bene così quando ho creato un progetto .NET 4.5.2, ma poi ho dovuto ripristinalo a 4.0 poiché il server di destinazione non è stato aggiornato. Questo è quando ho trovato questo problema (dopo aver risolto il langversionmio web.config da 6 a 5 ... un'altra storia) ....
Uno dei miei metodi continuava ad avere un errore come:
The type X.Y conflicts with the imported type X.Y in MyProject.DLL
Tutte le mie classi erano già impostate su "Compila" nelle loro proprietà, come suggerito nella risposta accettata qui, e ognuna aveva uno spazio dei nomi comune che era lo stesso, e ognuna era using MyNamespace;in cima a ciascuna classe.
Ho scoperto che se avessi appena spostato le classi offensive che dovevano chiamare metodi l'un l'altro in un'altra cartella standard denominata con un nome diverso da "App_Code", avrebbero smesso di avere questo problema di conflitto.
Nota : se si crea una cartella standard denominata "AppCode", spostare le classi in essa, eliminare la cartella "App_Code", quindi rinominare "AppCode" in "App_Code", i problemi torneranno. Non importa se si utilizza l'opzione "Nuova cartella" o "Aggiungi cartella ASP .NET" per creare "App_Code" - sembra digitare il nome.
Forse questo è solo un problema di .NET 4.0 (e forse prima) ... Stavo bene in 4.5.2 prima di dover tornare indietro!