2010-09-29 3 views
5

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

Server Error in '/' Application.


Parser Error Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.

Parser Error Message: The file '/MasterPages/MainMaster.master' does not exist.

Source Error:

Line 1: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="default.aspx.cs" Inherits="_Default" MasterPageFile="~/MasterPages/MainMaster.master"%> Line 2:
Line 3: <%@ Register TagPrefix="SBLContent" TagName="SBLContentBlock" Src="usercontrols/content.ascx"%>

Source File: /SBLWebSite/default.aspx Line: 1


Version Information: Microsoft .NET Framework Version:2.0.50727.4952; ASP.NET Version:2.0.50727.4927

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

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

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

Заранее благодарен!

ответ

8

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

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

Вздох.

+1

Вы должны создавать это как комментарий к ответу Бена вместо :) Ответы, как правило, .. хорошо .. ответы :) – Marko

+0

, пожалуйста, дайте более подробную информацию об этом решении, у меня такая же проблема, но не по вашему решению – Guy

+0

это был трюк !, благодаря «конвертировать в приложение» устанавливает новый корневой путь по умолчанию на дополнительный URL-адрес сегмента, поэтому теперь localhost/myproject - это новый корень h в мой новый виртуальный каталог теперь отлично работает !, спасибо еще раз. – dennisbot

1

Две вещи, чтобы проверить:

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

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

0

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

0

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

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

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

Обновите свой веб-сайт/веб-сервис и выполните следующие действия. трюк

0

enter image description here

ошибка приходит на веб-форму, как такой коррекции

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

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

Смежные вопросы