Возможно, проблема будет решена путем изменения свойства Действия сборки исходного файла * .cs на Компиляция с Содержимое .В обозревателе решений щелкните правой кнопкой мыши исходный файл и выберите «Свойство».
Обратите внимание, что папка App_Code предназначена для использования в проектах веб-сайтов .
Обратите внимание, что для Проект веб-приложения или MVC проект, добавление в проект папки App_Code и помещение в нее файлов * .cs вызовет проблемы.Я невежественно добавил папку App_Code в свой проект MVC из обозревателя решений.VS по умолчанию установил пространство имен в MyProjectName.App_Code. В этом случае Visual Studio 2012 по умолчанию установил действие «Построить для содержимого», хотя тип был .cs code .После того как я изменил Свойство действия сборки исходного файла * .cs на Компилировать с Содержимое , пространство имен было разрешено в других папках проекта.Однако из-за проблем мне пришлось изменить имя папки - см. Ниже.
Важно
В MVC или Веб-приложение проекта, папка App_Code вызывает проблемы, поскольку она имеет Веб-сайт Семантика типа проекта.Эта папка компилируется при публикации (развертывании) на сервере.Изменяя действие «Сборка» с «Содержимое» на «Компиляция», вы решаете проблему пространства имен в своей среде разработки путем принудительной немедленной компиляции, но у вас возникают проблемы, когда вторая компиляция приводит к objects defined twice
ошибкам при развертывании.Поместите файлы кода в папку с другим именем.Если вы преобразовали веб-сайт в веб-приложение, ознакомьтесь с инструкциями в Интернете, но не в рамках этого вопроса.Подробнее о папке App_Code в различных типах проектов см. Этот блог