Ошибка: «Файл '/MasterPages/MainMaster.master' не существует». (Да, этот файл существует!) - PullRequest
5 голосов
/ 30 сентября 2010

Я только что получил новый настольный компьютер с Windows 7 Pro в качестве операционной системы. Я установил Visual Studio 2008 на этот новый компьютер и попытался открыть ранее существующее решение ASP.NET 3.5, которое отлично отображалось на моем предыдущем компьютере (этот предыдущий компьютер использовал операционную систему Windows XP, IIS6 и браузер IE7). Однако в Windows7 / IE8 я получаю следующую ошибку:

Ошибка сервера в «/» приложении.


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

Сообщение об ошибке парсера: файл /MasterPages/MainMaster.master не существует.

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

Строка 1: <% @ Page Language = "C #" AutoEventWireup = "истина" CodeFile = "Default.aspx.cs" Inherits = "_ Default" MasterPageFile = "~ / MasterPages / MainMaster.master" %> Строка 2:
Строка 3: <% @ Register TagPrefix = "SBLContent" TagName = "SBLContentBlock" Src = "элементы управления UserControl / content.ascx" %>

Исходный файл: /SBLWebSite/default.aspx Линия: 1


Информация о версии: Microsoft .NET Версия Framework: 2.0.50727.4952; ASP.NET версия: 2.0.50727.4927

Пожалуйста, поверьте мне, когда я скажу вам, что файл "/MasterPages/MainMaster.master" действительно существует.

Кроме того, местоположение этого файла правильно указано в коде (как указано в строке 1 выше) и, как я уже сказал, правильно отображалось браузером на моем предыдущем компьютере. Также было бы полезно отметить, что я пытался перейти на другие страницы этого сайта, и этот браузер отображает одно и то же сообщение для любой и всех главных страниц, расположенных в моей папке MasterPages.

В итоге, по какой-то причине браузер не видит никаких страниц в папке MasterPages. Кто-нибудь может сказать мне, почему я получаю это сообщение об ошибке, когда папка и файл находятся именно там, где по умолчанию default.aspx?

Заранее спасибо!

Ответы [ 5 ]

9 голосов
/ 01 октября 2010

Я ценю ваш ответ.

Однако эта проблема оказалась проблемой IIS7.Сообщение об ошибке, которое я описал, возникло из-за различия, сделанного в IIS7 между «виртуальным каталогом» и «приложением» (я не знаю, существовало ли такое различие в IIS6).Чтобы исправить эту ошибку, я открыл IIS7, щелкнул правой кнопкой мыши папку виртуального каталога для этого сайта и выбрал «Преобразовать в приложение».Затем я обновил браузер, и ошибка исчезла.

Вздох.

1 голос
/ 30 сентября 2010

Необходимо проверить две вещи:

  1. При использовании «~» в пути к файлу убедитесь, что текущее развертывание приложения считает, что корневой каталог такой же, как и раньше.(Я сталкивался с этим, иногда перемещая приложение с VS Development Server и IIS.)

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

0 голосов
/ 19 октября 2016

enter image description here

ошибка появляется на веб-форме, как это

<% @ Page Title = "" Language = "vb" AutoEventWireup = "false" MasterPageFile = <strong>"~ / Site1.Master" CodeBehind = "add_drivers.aspx.vb" Inherits = "au_transport.WebForm1"%>

исправление

<% @ Page Title = "" Language = "vb" AutoEventWireup = "false" MasterPageFile = <strong>"Site1.Master" CodeBehind = "add_drivers.aspx.vb" Inherits = "au_transport.WebForm1"%>

0 голосов
/ 04 ноября 2014

Мне недавно пришлось переместить мои сайты с одного сервера (32-разрядный) на другой сервер (64-разрядный). На новом сервере возникла ошибка «Файл не найден» «Сообщение об ошибке анализатора: файл« ~ / Master.master »не существует»

Примечание: некоторые из моих приложений были созданы для x86, вам все еще нужно преобразовать свой веб-сайт в приложение: -)

Решение: В IIS8 нажмите Пул приложений -> выберите пул приложений, например DefaultAppPool -> нажмите «Расширенные настройки» -> В разделе «Общие» установите «Включить 32-разрядные приложения» на «Истина» -> Нажмите «ОК»

Обновите свой сайт / веб-сервис, и это должно сработать

0 голосов
/ 20 декабря 2012

Вместо "~" я смог просто изменить каталог на относительный ".." Итак, то, что у меня изначально было, что дало мне проблему, было что-то вроде: "~ / MasterPage / TheMainMasterPage.master" заставил меня получить то же сообщение об ошибке. Изменение в "../MasterPage/TheMainMasterPage.master" исправило все для меня.

...