Проблемы с папкой App_Code - PullRequest
       20

Проблемы с папкой App_Code

28 голосов
/ 18 сентября 2008

Так что у меня действительно странная проблема с папкой App_Code на новом веб-сайте, который я разрабатываю.

У меня есть базовый класс внутри пространства имен в папке App_Code. Все отлично работает в IDE, когда я настраиваю пространство имен и делаю объект из класса. Он вызывает сводку класса при наведении курсора, и когда вы нажимаете «перейти к определению», он переходит к файлу класса. И это также хорошо работает в местном масштабе.

Однако, когда я загружаю сайт на свой сервер, я получаю это сообщение об ошибке при доступе к этой странице:

Строка 10: использование System.Web.UI.WebControls;
Строка 11: использование System.Web.UI.WebControls.WebParts;
Строка 12: с использованием xxxx.xxxx

Сообщение об ошибке компилятора: CS0246: Не удалось найти тип или имя пространства имен 'xxxxxx' (отсутствует директива using или ссылка на сборку?)

Я точно знаю, что файл класса там. Кто-нибудь знает, что происходит?

редактирует:

Джон, да, это сайт 2.0.

Ответы [ 6 ]

66 голосов
/ 12 ноября 2010

Проблема в том, что ваши классы не скомпилированы. Вы решите эту проблему, просто перейдя в свойства любого класса в папке App_Code и изменив его свойство «Build Action» с «Content» на «Compile»

22 голосов
/ 18 сентября 2008

Если ваше приложение является проектом веб-приложения, а не проектом веб-сайта, файлы кода не должны находиться в папке App_Code (глупый дизайн, я знаю). Создайте новую папку с именем code или что-то и поместите их туда.

Это вызвало у меня всевозможные проблемы, когда я обновил несколько старых веб-сайтов .Net до проектов приложений.

2 голосов
/ 29 октября 2010

Это только что произошло со мной, и решение состояло в том, что App_Code (и App_Data) были помещены не в корень сервера, а в подпапку, содержащую все остальное. Должен быть в корне!

1 голос
/ 05 октября 2008

В зависимости от того, как вы публикуете сайт, он не будет выглядеть в App_Code, он будет искать DLL в папке Bin, которая содержит класс. Как вы перенесли свой сайт на сервер?

1 голос
/ 18 сентября 2008

Я иногда замечал несоответствие между анализатором IDE и компилятором всякий раз, когда возникает ошибка времени компиляции в ссылочной сборке или файле кода. В этом случае среда IDE правильно идентифицирует типы и обеспечивает их полную поддержку, но поскольку компилятору не удалось создать ссылочные объекты, он будет жаловаться на то, что ссылочные объекты не существуют.

Теперь я не хочу обвинять кого-либо в чем-либо - это всего лишь предположение, - но вы, вероятно, должны убедиться, что в вашем указанном кодовом файле нет ошибок.

0 голосов
/ 27 мая 2015

Для тех, кто следует ... У меня был такой же набор проблем, но он был вызван тем, что я назвал класс в App_Code, 'HTML'. Потребовалось много времени, чтобы понять, что это просто конфликт имен, потому что компилятор не очень помог мне рассказать, в чем проблема.

...