Я хочу запустить мое новое веб-приложение с проверкой подлинности с помощью форм на сервере ASP.NET Development WebServer (Cassini), но не в корневом каталоге сайта"/" (точнее, по пути, по которому он будет находиться в рабочей среде).; "/New").
Однако, процесс сборки выдает ошибку :
" Использование раздела, зарегистрированного как allowDefinition = ошибка«MachineToApplication» вне уровня приложения. Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS. New.MvcWeb \ obj \ debug \ csautoparameterize \ original \ web.config "
Теперь я понимаю, о чем идет речь.У меня включена аутентификация форм в моем файле web.config в виртуальном каталоге.Ошибка исчезает, когда я удаляю файл web.config или удаляю конфигурацию отладчика «виртуальный путь: / Новый», или перемещаю отладку из Cassini в IIS и вручную создаю приложение в «/New".
Ноэто всего лишь «виртуальный» каталог в сознании системы сборки.Путь IS с поддержкой приложения в настройках производственного IIS.Кроме того, если я удалю web.config, Cassini с радостью опубликует «http://localhost/New" как приложение» (например, Server.MapPath («~») возвращает каталог моего проекта без суффикса «/ New»), однако мне нужны формыв нем включена аутентификация (параметр web.config уровня приложения).
Как мне избежать этой ошибки сборки при сохранении желаемых функций?
Подробнее
Проектв настоящее время настроен для разработки сайта "файловая система". Это и Cassini, как предполагается, облегчит моим создателям контента участие в разработке и тестировании с их локальной копией VS2010, без необходимости устанавливать IIS на их ПК с Windows.также публикация одним щелчком в моем локальном IIS для тестирования, затем упаковка / публикация / развертывание в общедоступном тесте, а затем, наконец, публикация в производство. Я думаю, что Cassini является очень полезной частью всего этого процесса.
VS2010, MVC application, file-system site project
Project Settings:
* ASP.NET 4.0
* Use Visual Studio Development Server
* Virtual Path: /New
web.config snippet:
<authentication mode="Forms">
<forms loginUrl="~/../login.html" timeout="30"/>
</authentication>