C#Visual Studio 2010 – “无法加载类型”解析错误

分析器错误消息:无法加载类型’TestProject.Default’。


我已经检查过这个我可以找到的问题的其他线程。 到目前为止,我还没有找到适合我案例的解决方案。


来源错误:

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

Default.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文件夹中复制)
  • 我使用相同的方法将以前的项目放在Web上,没有任何问题。
  • 在所有其他线程和对此问题的引用中,名称空间不准确,缺少编译项目和项目属性似乎不适用于这种情况(我已经检查了很多次,所有看起来都正确)
  • 项目属性中的输出路径是\ bin,与服务器上的位置相同(/ testarea / bin)
  • 尝试过“转换为Web应用程序”但问题存在之前和之后
  • 尝试过多次构建 – >清理,再次构建,清理然后发布。 没变。

边注

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

这是我的第一个问题。 如果我可以通过更多信息帮助您更轻松,请询问。

Line 1行尝试这一行,而不是你已经拥有的那一行。

 <%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TestProject._Default" %> 

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

你的第一线应该是

 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Default" %> 

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

您缺少页面引用上方的程序集引用:

 <%@ Assembly Name="YOURASSEMBLY.NAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=YOURPUBLICKEYTOKEN" %> 

尝试从上一部分删除.Default:Inherits =“TestProject.Default”%>