ASP.net - виртуальный путь '/Master.master' соответствует другому приложению, что недопустимо.

У меня есть главная страница asp.net, расположенная в корневом каталоге моего сайта. У меня есть страница в каталоге "/ myfolder" с главной страницы:

 <%@ Page Title="" Language="C#" MasterPageFile="../Master.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myproject.TimelapseDefault" %>
 <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
 <p>

Файлы выглядят так:

/Master.master /myfolder/default.aspx

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

Сообщение об ошибке парсера: файл «/timelapserpro/Master.master» не существует.

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

Строка 1: <%@ Page Title="" Language="C#" MasterPageFile="~/Master.master" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="myproject.TimelapseDefault" %>

Строка 2: <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
Строка 3: <p>

Все страницы в одном решении.


person derp_in_mouth    schedule 04.09.2012    source источник


Ответы (2)


попробуйте изменить MasterPageFile="../Master.master" на MasterPageFile="~/Master.master"

Также проверьте, правильно ли вы создаете виртуальную папку на своем iis 7. Проверьте правильность пути к вашему приложению. У вас должна быть такая структура папок в вашем IIS

->YourAppName (the root of your app contains your root files)
  ->myfolder (contains your myfolder content)
person angularrocks.com    schedule 04.09.2012
comment
Если я это сделаю, я получаю файл «/myfolder/Master.master» не существует, но на локальном сервере он работает нормально. - person derp_in_mouth; 05.09.2012
comment
Спасибо, я случайно установил каталог как корень приложения. - person derp_in_mouth; 05.09.2012
comment
как ты это изменил? - person wordpressm; 23.12.2013
comment
@wordpressm см. на top of свою .aspx страницу, которая должна содержать MasterPageFile="path.to.your.masterpage.file". Поменяйте это там. И взгляните на msdn.microsoft.com/en-us/library/wtxbf3hh .ASPX - person angularrocks.com; 24.12.2013

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

НО на вашем локальном компьютере '/ timelapserpro / is a full application so ~/ refers to '/timelapserpro, а не' / '.

Вам нужно либо понизить статус своего приложения на локальном сервере, чтобы оно больше не было собственным приложением, либо сделать папку целевого сервера приложением, чтобы синхронизировать их.

person whiskeyfur    schedule 04.09.2012