Не удалось найти тип или имя пространства имен 'LAD' (отсутствует директива using или ссылка на сборку?) - PullRequest
1 голос
/ 21 сентября 2011

Здравствуйте, у меня веб-приложение ASP работает на C # в качестве бэкэнда, который я пытаюсь запустить, но веб-страница (запущенная локально на моем компьютере) выдает сообщение об ошибке. Теперь пространство имен, на которое пытается ссылаться веб-приложение, «использует LAD.CDD.NSJ;» которые находятся в папке App_Code.

Имена файлов: Common.cs, Email.cs, Data.cs и User.cs.

Все они имеют вызов пространства имен LAD.CDD.NSJ в коде. Предыдущие программисты не превращали эти файлы в dll, а просто хранили их как файл .cs. Я пытаюсь использовать эти файлы для другого проекта, но продолжаю получать это сообщение об ошибке.

1 Ответ

2 голосов
/ 21 сентября 2011

Папка App_Code - это специальная папка в ASP.NET. ASP.NET скомпилирует типы App_Code в сборку, которая фактически отделена от сборки вашего веб-приложения. Это означает, что когда вы пытаетесь использовать эти типы из своего внутреннего кода (например, контроллера MVC), он не может разрешить тип, потому что для этих типов Build Action будет иметь значение Content. С этим действием сборки файл не будет включен в компиляцию вашего основного приложения.

То, что я бы порекомендовал сделать, это использовать ditch с помощью App_Code, потому что простое изменение действия сборки на Compile не остановит динамическую компиляцию сборки App_Code в ASP.NET, поэтому вы получите неоднозначные типы среда выполнения не знает, использовать ли тип, скомпилированный в вашу основную сборку приложения, или динамическую сборку App_Code.

Переместите эти файлы в другое место и установите для параметра Действия сборки (в свойствах) значение Compile.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...