4

解析器错误消息:无法加载类型“TestProject.Default”。


我已经检查了我能找到的关于这个问题的所有其他线程。到目前为止,我还没有找到适用于我的案例的解决方案。


源错误:

Line 1:  <%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestProject.Default" %>
Line 2:  
Line 3:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

Source File: /testarea/default.aspx    Line: 1

默认.aspx.cs

using System;
using System.Web;
using System.Web.UI;

namespace TestProject
{
    public partial class Default : System.Web.UI.Page
    {

相关说明

  • /testarea 是服务器上不可编译文件所在的目录 /testarea/bin 包含已编译文件
  • 项目已编译(使用 Build -> Build TestProject)
  • 调试时在本地运行良好 - 问题仅在发布到 Web 时出现
  • 我不/不能通过 VS 发布(没有首页扩展),所以复制文件(使用 Build -> Publish -> File System 后从 PackageTmp 文件夹)
  • 我使用相同的方法将之前的项目放到了网络上,没有任何问题。
  • 在所有其他线程和对这个问题的引用中,命名空间不准确、缺乏编译项目和项目属性似乎不适用于这种情况(我已经检查了很多次,并且所有看起来都是正确的)
  • 项目属性中的输出路径为\bin,与服务器上的位置相同(/testarea/bin)
  • 已尝试“转换为 Web 应用程序”,但之前和之后都存在问题
  • 尝试了无数次构建->清理,然后再次构建,清理然后发布。没变。

边注

我是一名 PHP 开发人员,所以这些奇怪的 .NET / C# 问题很难追踪并找到逻辑,对我来说尤其困难。任何建议重新。如何正确调试 VS C# 应用程序将不胜感激。

这是我在这里的第一个问题。如果我可以通过更多信息帮助使这更容易,请问。

4

6 回答 6

0

我遇到了类似的问题,不同之处在于我有时无法编译,有时我能够编译但在浏览器打开时收到错误,没有加载页面并声明它无法加载类型 xxxxyyyy .default 我之前所做的是手动导入一些类(将 .cs 文件放到项目标题中),昨天在另一台计算机上运行良好。现在我在另一台计算机上并收到此错误。一开始的一个问题是,当我导入这些类时,它们属于不同的命名空间。所以起初我决定改变所有类的命名空间来“规范化”这个问题。它碰巧适用于编写代码,但在运行时它返回错误。所以我最后做的是返回到原来的命名空间,只包括 ' 在 Default.aspx.cs 文件顶部使用 NameOfMyImportedNamespace'。与命名空间相关的新错误再次出现。因此,我最终通过将文件 Default.aspx.designer.cs 上的先前命名空间(原始)重命名为 NameOfMyImportedNamespace 来解决它,并且它起作用了!但是,当我今天收到这个新错误时,我发现 Default.aspx.designer.cs 文件上的命名空间已重命名回原来的名称。所以这次我重命名它时,我注意到 Visual Studio 在你更改的单词后面绘制的红色光标,并且有一个选项可以在整个项目本身中重命名该命名空间。所以我做到了,它终于奏效了。我想我的项目名称也会被重命名,但它没有,所以我认为它可能是解决您问题的合适方法。顺便一提,我昨天开始在 Windows 7 下运行的 VS2010 Ultimate 上编写此代码,错误发生并在我现在使用的另一台计算机上得到解决,在 Windows XP 下运行 VS2010 Enterprise。所以我想这不应该是操作系统或 VS 版本问题,因为它可以通过重命名命名空间来解决。

于 2013-09-19T14:52:19.913 回答
0

试试这条线,Line 1而不是你已经拥有的。

<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestProject._Default" %>
于 2012-12-12T10:17:42.570 回答
0

你的第一行应该喜欢

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %>
于 2013-12-03T04:24:55.587 回答
0

我得到了 MyProject.csproj 文件的旧副本并将其替换并修复了它。希望这可以帮助。

于 2015-06-18T14:47:28.453 回答
0

您在页面参考上方缺少您的程序集参考:

<%@ Assembly Name="YOURASSEMBLY.NAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YOURPUBLICKEYTOKEN" %>
于 2015-09-10T10:02:45.110 回答
-1

尝试从最后一部分中删除 .Default:Inherits="TestProject.Default"%>

于 2012-12-12T10:22:06.887 回答