Проблема после публикации веб-приложения от VS 2010 - PullRequest
1 голос
/ 08 июля 2010

Всякий раз, когда я публикую свое веб-приложение MVC в VS 2010 с помощью функции публикации одним щелчком (я не делаю никаких преобразований web.config или чего-нибудь необычного - пока!).В следующий раз, когда я приду к созданию приложения, я получу следующую ошибку:

Ошибка использовать раздел, зарегистрированный как allowDefinition = 'MachineToApplication' за пределами уровня приложения.Эта ошибка может быть вызвана тем, что виртуальный каталог не настроен как приложение в IIS.in ... MyWebApp \ obj \ release \ package \ packagetmp \ web.config

Новая копия файла web.config действительно создается VS2010 в папке ... MyWebApp \ obj \поэтому я удалил всю папку obj и затем смог собрать заново.

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

Спасибо.

Ответы [ 2 ]

1 голос
/ 31 января 2011

К сожалению, это известная проблема с публикацией веб-приложения в файловой системе. Это по-прежнему влияет на окончательную версию Visual Studio 2010. Это не ограничивается бета-версиями или версиями RC.

Эта проблема «укусила» и меня, и мне тоже пришлось вручную удалять папки Debug и Release в папке obj в папке решения моего веб-сайта.

Реальный ответ для автоматического «обходного пути» можно найти в этом ответе на другой вопрос переполнения стека:

Почему я случайно получаю «ошибку при использовании раздела, зарегистрированного как allowDefinition = 'MachineToApplication'» при создании проекта MVC?

В двух словах, вам нужно удалить файлы web.config из папок Debug или Release (или обоих!), И это достигается с помощью команды предварительной сборки (настроенной на вкладке Build Events). страницы Project Properties вашего решения):

del "$(ProjectDir)\obj\Debug\Package\PackageTmp\web.config"
del "$(ProjectDir)\obj\Release\Package\PackageTmp\web.config"

Лично я удаляю всю папку obj, так как все эти файлы восстанавливаются с каждой сборкой в ​​любом случае.

0 голосов
/ 19 августа 2010

Я только что нашел способ, который сработал для меня, откройте .csproj для вашего веб-проекта и измените узел в узле Project \ PropertyGroup на:

из этого: правда

к этому: ложь

Это сработало для меня, надеюсь, это сработает и для вас.

...