【问题标题】:Failure to load type in ASP.NET?在 ASP.NET 中加载类型失败?
【发布时间】:2012-07-10 09:07:12
【问题描述】:

我在同一个目录中有两个文件,一个 ascx 文件和一个 ascx.cs 文件,其中定义了一个 C# 类。

这是我的 .ascx 文件中的代码

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="Test.ascx.cs" 
Inherits="SITE.UI.Controls.Test" %>

这是 Test.ascx.cs 中的代码:

using System;
using System.Web.UI;

namespace SITE.UI.Controls
{
    public partial class Test : System.Web.UI.UserControl
    {


    }
}

但是,每当我尝试构建网站时,我总是会收到此错误:

错误 1 ​​无法加载类型“SITE.UI.Controls.Test”

我确定我一定是在做一些明显错误的事情,但是经过一个多小时的颠簸之后,我无处可去。 . .

【问题讨论】:

  • 已经尝试重建您的解决方案?
  • 我尝试重建多次,每次都遇到同样的错误
  • 如果添加一个新的用户控件,新的用户控件可以工作会怎样?
  • “同一目录”是什么意思。你用网站项目吗?什么IDE?两个文件都包含在项目中吗?

标签: c# asp.net code-behind


【解决方案1】:

进入 Web 项目属性 -> 构建设置并将输出路径更改为 bin\

如果这不起作用,请查看this 帖子。这里有很多解决这个问题的方法。

修复与否时告诉我:)

【讨论】:

  • 我编辑了我的答案,试试看或查看链接。让我知道;)
  • 抱歉,我过了一段时间才回复您。问题是没有生成设计器文件,我删除了模板(但首先复制了所有代码)并创建了一个具有相同名称的新模板,显然这解决了问题。
  • 简而言之,我对 ASP.NET 和 Visual Studio 有点n00b,抱歉!
  • 祝你好运:) 很高兴能帮助你。
【解决方案2】:

我将讲述我的案例以及对我有用的方法。 我有一个运行良好的项目。由于未知原因,它得到了编译/构建错误。 我在 Controls 文件夹中有用户控件。 在处理了 Web 处理程序的编译错误之后,我的 Controls 文件夹中的每个用户控件都有一组新的错误。 我尝试了很多东西,包括删除设计器文件(并创建另一个空文件),我得到的错误是无法加载类型'Name.Of.Class'(在指令行#1 )。

我的解决方案是: 我添加了另一个名为 OriginalControlName2.ascx 的并行控件。 然后将所有内容从@.ascx 复制到@2.ascx 和ascx.cs 相同。 到目前为止一切顺利,新页面/控件没有编译错误。 然后排除原文件,将#2文件的名称改为原文件名。 错误列表归零。

根据我的所有经验,我不知道问题出在哪里,但我已经解决了。

**************更新***************

每次我完成一组文件时,它都会继续到其他文件。 我发现指令 有一个 CodeBehind 属性。 当我将其更改为 CodeFile 时,错误消失了。 它比添加新文件和移动所有代码要短得多。

祝你好运。

【讨论】:

    【解决方案3】:

    当我遇到同样的错误时,只是想添加对我有用的东西。我做了一个 iisreset 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-20
      • 1970-01-01
      • 2022-12-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多