完成Web应用程序并在线发布后,无论我尝试如何,我都会遇到以下错误,请记住它在本地运行应该...
分析程序错误消息:无法加载“网络营销”类型。
我试过这个解决方案,虽然据说我和解决方案一样,但我仍然面临同样的问题......
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
{
}
}
}
}
答案 0 :(得分:58)
在我将 CodeBehind 更改为 CodeFile 之前我遇到了同样的问题而且它确实有效。我记得它在本地运行但我上传后遇到了这个问题。
答案 1 :(得分:28)
当您将文件从Web应用程序项目复制到Website Project时,通常会发生这种情况。
创建Web应用程序时,网页的Page指令 CodeBehind 。
如果您将应用程序创建为网站,则Page指令为 CodeFile
因此,如果您从Web应用程序复制到网站,名称空间以及页面指令不会自动更改,您应该手动执行此操作以纠正此错误。
答案 2 :(得分:5)
我收到此错误消息。问题是我的.cs和aspx文件没有添加到项目中。他们在文件夹中,但没有添加。我通过将它们添加到项目中来解决它(右键单击,添加)。然后在我构建项目之后,它被编译成bin文件夹中的dll。无需将文本从CodeBehind更改为CodeFile。
答案 3 :(得分:3)
应该反映具有类名的全名空间,例如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位应用程序。
答案 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)
答案 13 :(得分:0)
注意:在构建时我是compiling my WebForms pages。
我在项目中没有引用 的aspx文件,但是它们在磁盘上,这会导致生成错误。