分析器错误消息:无法加载类型'网络营销'

时间:2014-04-22 12:58:46

标签: c# asp.net master-pages

完成Web应用程序并在线发布后,无论我尝试如何,我都会遇到以下错误,请记住它在本地运行应该...

  

分析程序错误消息:无法加载“网络营销”类型。

enter image description here

我试过这个解决方案,虽然据说我和解决方案一样,但我仍然面临同样的问题......

ASP.NET Parser Error Cannot load code behind


这是背后的代码:

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

namespace webmarketing
{
    public partial class Masterpage : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string admin = (string)Session["Admin"];
            if (string.IsNullOrEmpty(admin))
            {
                logout.Visible = false;
            }
            else
            {

            }
        }
    }
}

14 个答案:

答案 0 :(得分:58)

在我将 CodeBehind 更改为 CodeFile 之前我遇到了同样的问题而且它确实有效。我记得它在本地运行但我上传后遇到了这个问题。

答案 1 :(得分:28)

当您将文件从Web应用程序项目复制到Website Project时,通常会发生这种情况。

创建Web应用程序时,网页的Page指令 CodeBehind enter image description here

如果您将应用程序创建为网站,则Page指令为 CodeFile enter image description here

因此,如果您从Web应用程序复制到网站,名称空间以及页面指令不会自动更改,您应该手动执行此操作以纠正此错误。

答案 2 :(得分:5)

我收到此错误消息。问题是我的.cs和aspx文件没有添加到项目中。他们在文件夹中,但没有添加。我通过将它们添加到项目中来解决它(右键单击,添加)。然后在我构建项目之后,它被编译成bin文件夹中的dll。无需将文本从CodeBehind更改为CodeFile。

答案 3 :(得分:3)

关于Inherits的

应该反映具有类名的全名空间,例如x.y.webmarketing,而不是类名或文件名。把它包起来应该如下所示

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="MasterPage.Master.cs" Inherits="Lync_Billing.ui.MasterPage" %>

答案 4 :(得分:2)

如果您的应用程序在本地运行但在部署到服务器时失败,则此问题很可能与您的 IIS设置有关。

要解决此问题,请确保IIS中目标应用程序池的“启用32位应用程序”属性设置为“TRUE”。 它工作!

答案 5 :(得分:2)

我所做的是为了解决我的问题,提供相同的消息是去IIS并检查它是配置为应用程序还是仅作为虚拟目录。 App图标只是一个文件夹图标。所以我右键单击它并管理虚拟目录&gt;高级设置&gt;转换为应用程序将虚拟目录的图标更改为绿色地球图标。当然,该应用程序的目标是框架4.5,因此将应用程序池从默认应用程序池更改为4.0,这是之前的版本。这解决了我的问题。

但有些事我没说,1。我在IIS 6.1上本地运行它。 2.我使用域名凭据访问,而不是通过&#39;通过&#39;认证。希望这有帮助

答案 6 :(得分:1)

我认为您发现问题是您需要更新BIN文件夹中的文件。 当您运行该应用程序时,它也会重新编译BIN文件夹中的文件。将这些复制到WEB站点,这应该解决问题,它为我做了。如果您创建一个尚未存在的新页面,尤其如此。

答案 7 :(得分:0)

如果您在服务器上托管您的网站后遇到此错误,请确保您创建目录和/或转到托管服务器 - &gt;网站管理员 - &gt;应用程序起点,选择上传的已发布文件夹的正确路径或文件夹。

它解决了我同样的问题,我希望它也能帮到你。

答案 8 :(得分:0)

如果在运行64位操作系统的Visual Studio上进行调试期间遇到此问题,并且您的应用程序是32位,请将配置管理器设置为x86(32位)。这与先前对集合IIS的答案一致,即在64位上启用32位应用程序。

Visual Studio - Configuration Manager on Build

答案 9 :(得分:0)

使用VS2015,我检查了&#34;在发布之前删除所有现有文件&#34;在&#34;发布网站&#34;中的文件发布选项下右键单击菜单选项,这个问题就消失了。

答案 10 :(得分:0)

对我来说,我重建了各个项目,然后重建整个解决方案。 这对我有用。 简单地构建解决方案可能不起作用。 我想当你“清理”解决问题的解决方案时。

答案 11 :(得分:0)

我正在使用&#34; Microsoft.CodeDom.Providers.DotNetCompilerPlatform&#34;版本1.0.8。在重建时,出现了一条警告,指出无法将文件复制到bin\roslyn。所以我停止了IISExpress,删除了bin文件夹并重建了项目。没有构建警告,应用程序运行正常。

答案 12 :(得分:0)

没有提到的答案对我有用。

我的错误是相同的,但是我犯了错误,并发布了Debug版本,而不是发布版本,因此请确保在发布项目之前,切换到Release,Clean and Rebuild解决方案和版本!

enter image description here

答案 13 :(得分:0)

注意:在构建时我是compiling my WebForms pages

我在项目中没有引用 的aspx文件,但是它们在磁盘上,这会导致生成错误。