Je n'ai pas encore compris pourquoi cela se produit, mais j'avais des classes qui se trouvaient dans mon App_Code
dossier qui appelaient des méthodes les unes dans les autres, et je le faisais bien quand j'ai construit un projet .NET 4.5.2, mais j'ai dû revenir à 4.0 car le serveur cible n'était pas mis à niveau. C'est à ce moment que j'ai trouvé ce problème (après avoir corrigé lelangversion
dans mon web.config de 6 à 5 ... une autre histoire) ....
Une de mes méthodes a continué d'avoir une erreur comme:
The type X.Y conflicts with the imported type X.Y in MyProject.DLL
Toutes mes classes étaient déjà définies sur "Compiler" dans leurs propriétés, comme suggéré dans la réponse acceptée ici, et chacune avait un espace de noms commun qui était le même, et chacune avait using MyNamespace;
en haut de chaque classe.
J'ai constaté que si je déplaçais simplement les classes incriminées qui devaient appeler des méthodes les unes dans les autres vers un autre dossier standard nommé autre que "App_Code", elles cessaient d'avoir ce problème de conflit.
Remarque : Si vous créez un dossier standard appelé "AppCode", y déplacez vos classes, supprimez le dossier "App_Code", puis renommez "AppCode" en "App_Code", vos problèmes reviendront. Peu importe si vous utilisez l'option "Nouveau dossier" ou "Ajouter un dossier ASP .NET" pour créer "App_Code" - il semble saisir le nom.
Peut-être que ce n'est qu'un problème .NET 4.0 (et peut-être plus tôt) ... J'étais très bien en 4.5.2 avant de devoir revenir!