6

我目前正在 azure 上部署我的网站。我的一个页面工作正常,但我有另一个使用母版页的页面,由于我收到此错误而未加载:

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 '/Main.master.cs' does not exist.

Source Error: 


Line 1:  <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Main.master.cs" Inherits="ThirdEye.Main" %>
Line 2:  
Line 3:  <%@ Register Src="~/controls/Footer.ascx" TagName="Footer" TagPrefix="ThirdEye" %>

Source File: /Main.master    Line: 1 

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

我无法弄清楚我有什么问题。我已经上传了可执行文件,页面在 bin 文件夹的同一目录中。您认为我必须在 CodeFile 属性或 Inherits 属性前添加句点或波浪号吗?

我正在使用 .net 框架 v4。我不能使用 3.5,我认为这不应该是问题。

Main.Master

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Main.master.cs" Inherits="Main" %>

Main.Master.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using ThirdEye;

public partial class Main : System.Web.UI.MasterPage
    {....
4

5 回答 5

16

您正在使用 Web 应用程序项目(而不是网站项目)吗?如果是这样,更改CodeFileCodeBehind应该可以解决错误。

Web 应用程序部署已编译,并且不包含使用CodeFile.

于 2012-05-29T20:41:36.773 回答
3

要确保在部署到 Azure 时包含代码文件 (*.cs),请转到项目属性并在 PACKAGE/Publish Web 下选择“此项目文件夹中的所有文件”作为要部署的选项项目(适用于所有部署方法)

于 2014-02-03T14:34:53.163 回答
3

基于上述错误,tt 似乎 MainMaster.master.cs 未部署到 Windows Azure。

当您在项目中添加新的母版页名称“MainMaster.master”时,是否将其属性设置为“复制到输出目录”为“始终复制”,因为默认情况下未设置,因此该文件不会您的 Windows Azure 包的一部分并导致此类错误。

请您确认是否是这种情况?

于 2012-05-04T00:22:29.120 回答
0

答案是您永远不应该将页面命名为“主要”!非常愚蠢的错误!

于 2012-06-23T08:35:24.277 回答
0

我以前也遇到过同样的问题。这个问题有两种解决方案。

  1. 正如@Eric 提到的,在主文件中使用CodeBehind而不是CodeFile.

    <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="ThirdEye.Main" %>
    
  2. 复制,cs文件到部署;在这种情况下,将 'Main.master.cs' 复制到 IIS 的“App_Master”文件夹中。通常,当您部署cs文件时不会包含在内。

于 2019-02-05T19:07:07.063 回答