Member 10379103 Ответов: 0

Виртуальный каталог и каталог приложений


Могу ли я иметь как виртуальный каталог, так и каталог приложений в одной и той же веб-структуре?

Я унаследовал веб - сайт, который использует один файл web.config для всех своих страниц-и это нормально.

Мне пришлось добавить новые страницы и включить отдельный файл web.config в эту новую папку вместе с новыми страницами. Мне пришлось включить отдельный файл web.config, потому что мои новые страницы не "распознали" существующий файл web.config.

Я получаю "
Цитата:
элемент "buildProviders" не может быть определен ниже уровня приложения.
"ошибки при публикации новых страниц в новой папке. Лучшее решение, которое я нашел, - это преобразовать вновь созданную папку в приложение через диспетчер IIS.

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

Я использовал VS 2013 для очистки, сборки и публикации моих новых страниц.

У меня есть страница. aspx и страница aspx. cs.

Что я уже пробовал:

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

Richard Deeming

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

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

Member 10379103

Похоже, проблема с моими новыми страницами, не распознающими существующий файл web.config, заключается в том, что я не опубликовал все решение-только новые страницы, которые я created...at по крайней мере, так считает предыдущий разработчик. Предыдущий разработчик всегда публиковал все решение целиком. Весь сайт использует один файл web.config. Я также заметил, что после очистки, компиляции и сборки мои страницы .aspx.cs и aspx.designer.cs все еще видны в решении - это не похоже на то, что они действительно скомпилированы (?). Я исследую эту проблему, прежде чем конвертировать новую папку.

Member 10379103

Я просто заново собрал, скомпилировал и переиздал свои новые страницы. Я получил ту же ошибку web.config: ошибка сервера в приложении'/'.
--------------------------------------------------------------------------------

ошибка выполнения
Описание: на сервере произошла ошибка приложения. Текущие пользовательские настройки ошибок для этого приложения не позволяют удаленно просматривать сведения об ошибке приложения (по соображениям безопасности). Однако он может быть просмотрен браузерами, работающими на локальном сервере.

Сведения: чтобы сведения об этом конкретном сообщении об ошибке можно было просмотреть на удаленных компьютерах, пожалуйста, создайте тег <customerrors> В файле конфигурации "web.config", расположенном в корневом каталоге текущего веб-приложения. Этот тег<customerrors & gt; должен иметь свой атрибут "mode", установленный в положение"Off".


<!-- Конфигурационный файл Web. Config -->

& lt;конфигурация>
&ЛТ;система.веб&ГТ;
<customerrors mode= "Off">



Когда я создаю новый файл web. config в папке с моими новыми файлами и устанавливаю режим customErrors в положение " Выкл.", чтобы я мог видеть, какая строка ошибается, она останавливается на первой строке - это то, что успешно скомпилировано:
Ошибка сервера в приложении'/'.
--------------------------------------------------------------------------------

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

Сообщение об ошибке парсера: не удалось загрузить тип ' RescueDogs.Новорожденные.PlacementStatusReport'.

Ошибка Источника:


Строка 1: <%@ Page Title= ""Language=" C# "MasterPageFile=" ~ / Site.Мастер" AutoEventWireup значение="истинной" отделенного кода="PlacementStatusReport.aspx-файл.КС" наследует="RescueDogs.Новорожденные.PlacementStatusReport. " %>
Строка 2: & lt;%@ Register assembly= " Microsoft. ReportViewer.WebForms, версия=11.0.0.0, культуры=нейтральный, значения PublicKeyToken=89845dcd8080cc91" пространство имен="Майкрософт.Отчетности.WebForms "tagprefix=" rsweb " % & gt;
Линия 3: &ЛТ;АСП:контента ID="Content1" атрибутом ContentPlaceHolderID="HeadContent" атрибут runat="сервер"и GT;


Исходный файл: /NewBreeds/PlacementStatusReport. aspx строка: 1


--------------------------------------------------------------------------------
Информация о версии: Microsoft .NET Framework версия:4.0.30319; ASP.NET версия:4.0.30319.1031

Первая строка одинакова во всех предыдущих файлах-за исключением имени нового отчета.

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



Примечания: текущая страница ошибок, которую вы видите, может быть заменена пользовательской страницей ошибок, изменив атрибут "defaultRedirect" тега конфигурации приложения "customerrors", чтобы указать на URL-адрес пользовательской страницы ошибок.


<!-- Конфигурационный файл Web. Config -->

& lt;конфигурация>
&ЛТ;система.веб&ГТ;
&ЛТ;режима customerrors="значение remoteonly" очередь defaultredirect="mycustompage.htm"&ГТ;

Richard Deeming

Проверьте кодовый файл PlacementStatusReport.aspx.cs - соответствует ли пространство имен и имя класса Inherits атрибут?

Кроме того, у вас, кажется, есть мошенническая точка в конце имени класса. Это в вашем коде или опечатка в вашем комментарии?

Member 10379103

Да, пространство имен и класс соответствуют атрибуту Inherits. Я скопировал и вставил, чтобы быть уверенным. Период изгоев-это опечатка. Что решило мою ошибку, так это удаление наследников из файла. aspx. Когда я опубликовал файл. aspx из VS 2013, также были опубликованы файлы .cs и .designer.cs. На уже существующих страницах, написанных другим разработчиком, в папках появляются только файлы .aspx.

Я думаю, что моя сборка на самом деле не компилировала код в библиотеку, и именно поэтому я получил ошибку...страница .aspx не видела .cs в файле.dll, потому что он не был там, чтобы быть унаследованным.

0 Ответов