ASP.NET начинающий горе с новым веб-сайтом

2

Я по-настоящему опытный разработчик .net для рабочего стола, но это мой первый удар по использованию ASP.NET, и я почти сразу же упал.

Я использовал мастер "Новый сайт" VS2008 и получил простую страницу для работы с страницами, код и все. Но мой следующий шаг добавления простого статического класса для некоторых методов утилиты, которые будут использоваться всеми страницами, не работает вообще.

Я попытался поместить код в App_Code, я попытался создать новый проект библиотеки и ссылаться на него... все всегда компилируется в Visual Studio, но при загрузке на сервер он просто отказывается найти пространство имен/класс или признать сборку библиотеки. Я пробовал общаться с web.config, но не смог найти способ ссылаться на сборку библиотеки ( "*", похоже, не делает этого, например).

На страницах сервера указано: Информация о версии: Microsoft.NET Framework Версия: 2.0.50727.3074; Версия ASP.NET: 2.0.50727.3074

Есть ли лучший способ использования методов утилиты и как я могу заставить свои страницы кода для распознавания любого класса (или, еще лучше, пространства имен или даже сборки), кроме себя?

Точная ошибка, которую я получаю: CS0246: Тип или имя пространства имен "MyCommon" не удалось найти (вам не хватает директивы using или ссылки на сборку?)

Теги:
visual-studio-2008
web-site-project

6 ответов

2
Лучший ответ

Я предполагаю, что у вас есть оператор using, который указывает на пространство имен?

Что-то, что я вижу время от времени... на сервере, вы (в IIS) отметили новую папку как "приложение"? Он должен иметь винтик в IIS. Если вы этого не сделали, то он будет искать неправильное местоположение для App_Code ( "приложение" сообщает, где находится локальный корень приложения). Щелкните правой кнопкой мыши, свойства, "создайте приложение" (или что-то в этом роде - у меня нет сервера для передачи...)

  • 0
    В Vista (IIS7) есть опция преобразования в приложение, которая должна сработать.
  • 0
    Да, я пробовал глобальное пространство имен и явные пространства имен; все они хорошо сочетаются в Visual Studio и скомпилируют файлы, но на сервере не работают. К сожалению, у меня есть только FTP доступ к серверу, поэтому я не могу проверить значки ...
Показать ещё 4 комментария
5

Лучше всего игнорировать "проекты" веб-сайта. Они уникальны в мире Visual Studio, поскольку они не являются проектами (нет .csproj или другого подобного файла). Они будут казаться очень странными и противоречивыми для любого разработчика не веб-сайта.

Вместо этого используйте File- > Add New Project и выберите "ASP.NET Web Application". Это создаст проект веб-приложения, который будет работать намного больше, как вы ожидаете. Вы даже можете добавлять классы в любую папку, которая вам нравится, и они будут работать так, как вы ожидали, что они будут работать.

  • 0
    Я попытался это кратко, но потерпел неудачу с подобными проблемами; но так как кажется, что общее мнение заключается в том, что веб-приложение лучше, я, вероятно, попробую еще раз.
  • 0
    Это не помогает решить проблему, но я согласен с вами, Джон, что приложения лучше сайтов. Здесь есть запись в блоге - mikehadlow.blogspot.com/2009/04/…
Показать ещё 1 комментарий
1

Я видел эту ошибку, когда класс не в App_Code...

В другой заметке вы могли бы начать с приложения ASP.NET вместо веб-сайта. Это две различные модели приложений, вариант приложения немного проще с точки зрения добавления классов и сборок.

0

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

Однако, если вы должны придерживаться модели проекта веб-сайта, вы должны убедиться, что добавили ссылку на свой проект (MyCommon) в веб-приложение, а затем создаете оператор using в классе, который хотите его использовать.

0

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

0

Обязательно переместите проект на сервер через публикацию веб-сайта. Кроме того, вы можете использовать проект веб-приложения (новый- > проект- > веб- > проект веб-приложения) вместо новой веб-страницы сайт. Вероятно, он будет вести себя так же, как вы ожидаете.

  • 0
    Я на самом деле тоже это пробовал и у меня были похожие проблемы, поэтому я вернулся на веб-сайт (ctrl-s, чтобы "опубликовать", казалось проще ...)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню