Классы, находящиеся в App_Code, недоступны

Я создал веб-сайт в ASP.NET и создал class и поместил его в папку App_Code. Однако я не могу получить доступ к этому со своих других страниц. Что-то нужно настроить для этого? Я сделал это в предыдущих проектах, но не в этом, так или иначе.

namespace CLIck10.App_Code { public static class Glob { ... } } 

Щелкните правой кнопкой мыши файл .cs в папке App_Code и проверьте его свойства.

Убедитесь, что для параметра «Действие сборки» установлено значение «Скомпилировать».

Поместите это вверху других файлов, в которые вы хотите получить доступ к classу:

 using CLIck10.App_Code; 

ИЛИ доступ к classу из других файлов:

 CLIck10.App_Code.Glob 

Не уверен, что это ваша проблема или нет, но если вы были новичком в C #, тогда это легко справиться.

Обновление. Недавно я обнаружил, что если я добавлю папку App_Code в проект, я должен закрыть / повторно открыть Visual Studio, чтобы он правильно распознал эту «специальную» папку.

Перейдите на страницу, откуда вы хотите получить доступ к classу App_code, а затем добавьте пространство имен classа app_code. Вам необходимо предоставить инструкцию using :

 using WebApplication3.App_Code; 

После этого вам нужно перейти к classу classа app_code и установить «Build Action» в «Compile».

убедитесь, что вы используете то же пространство имен, что и ваши страницы

Я еще не понял, почему это происходит, но у меня были classы, которые были в моей папке App_Code , которые вызывали методы друг в друге, и были в порядке, когда я построил проект .NET 4.5.2, но затем я чтобы вернуть его в 4.0, поскольку целевой сервер не обновлялся. Вот когда я нашел эту проблему (после исправления langversion в моем web.config от 6 до 5 … другой истории) ….

У одного из моих методов была ошибка:

 The type XY conflicts with the imported type XY in MyProject.DLL 

Все мои classы уже были настроены на «Скомпилировать» в своих свойствах, как это было предложено в принятом ответе здесь, и у каждого из них было общее пространство имен, которое было одинаковым, и каждый из них using MyNamespace; в верхней части каждого classа.

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

Примечание . Если вы создаете стандартную папку под названием «AppCode», переместите в нее свои classы, удалите папку «App_Code», а затем переименуйте «AppCode» в «App_Code», ваши проблемы вернутся. Неважно, если вы используете опцию «Новая папка» или «Добавить ASP.NET Folder» для создания «App_Code» – она, похоже, вводит имя.

Возможно, это просто проблема .NET 4.0 (и, возможно, раньше) … В 4.5.2 я был в порядке, прежде чем возвращаться!

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

В моем случае я не мог получить проект для сборки с classами, определенными в папке App_Code.

Невозможно воспроизвести сценарий именно для комментариев, но пришлось закрыть и снова открыть визуальную студию для intellisense, чтобы сотрудничать с соглашением …

Я заметил, что, когда class в папке App_Code установлен в «Компиляция» вместо «Контент» (щелкните правой кнопкой мыши), что ошибки исходили из второй версии classа … Посмотрите на самую левую часть 3 из 3 полей между областью кода и вкладкой. «Другой» назывался что-то вроде строк 10_App_Code или аналогичных.

Чтобы исправить проблему, я переименовал папку из App_Code в Code, явно задал пространства имен в classах и установил все classы в «Compile»

  • Когда требуется ключевое слово «typename»?
  • Как вы печатаете unsigned long long int (спецификатор формата для unsigned long long int)?
  • Почему у C ++ нет сборщика мусора?
  • Какая коллекция .NET обеспечивает быстрый поиск
  • Производительность 2-мерного массива по сравнению с одномерным массивом
  • Разница между файлами, записанными в двоичном и текстовом режимах
  • C ++ 11 std :: mutex в тупике Visual Studio 2012 при блокировке из DllMain ()
  • Инициализатор константного выражения для статического члена classа типа double
  • Как работает `void_t`
  • Рекомендации GetHashCode в C #
  • WIN32_Processor :: Is ProcessorId Unique для всех компьютеров
  • Давайте будем гением компьютера.