【问题标题】:Designer.cs file creates errors automaticallyDesigner.cs 文件自动创建错误
【发布时间】:2010-11-05 20:45:50
【问题描述】:

尽管我有缺陷,但在以 Visual Studio 2008 向 .designer.cs 文件添加错误代码的形式创建错误时,我收到了一些不必要的帮助。我很感激,这可能是因为我的疏忽或错误 - 但我会借口我实际上是一个初出茅庐的 ASP.NET 开发人员,所以我还在学习。

解决方案导出器的相关部分如下所示:

/Prototypes
  /Project01.Master
   - Project01.Master.cs
   - Project01.Master.designer.cs
  /SampleApplication.aspx
   - SampleApplication.aspx.cs
   - SampleApplication.aspx.designer.cs 

我不完全确定问题中要包含哪些文件,所以我会尽力猜测。 .Master.cs 和 SampleApplication.aspx.cs 都包含在 Project01.Prototypes 命名空间中(虽然我对此并不珍贵,但它是自动添加和工作的,而我不需要考虑它) .

SampleApplication.aspx 的顶部是以下内容(以启用对母版页理论上公开的某些属性的访问。

<%@ Page Language="C#" MasterPageFile="~/Prototypes/Project01.Master" AutoEventWireup="true" CodeBehind="SampleApplication.aspx.cs" Inherits="Project01.Prototypes.SampleApplication" %>
<%@ MasterType VirtualPath="~/Prototypes/Project01.Master" %>

在 SampleApplication.aspx.designer.cs 中是:

namespace Project01.Prototypes {

  public partial class SampleApplication {

    public new Project01.Prototypes.Project01 Master {
      get {
        return ((Project01.Prototypes.Project01)(base.Master));
      }
    }
  }
}

所有这些都会导致错误:

The type name 'Prototypes' does not exist in the type 'Project01.Prototypes.Project01'

我可以通过删除“Project01.Prototypes”来修复此错误并重新开始构建。类本身内的引用(离开命名空间)。我的问题是,这只是一个临时解决方案,因为 Visual Studio 会不断将其重新添加 - 所以我想问题是我的错误实际在哪里?

附言如果它很重要,我在 Visual Studio 2008 中运行 ASP.NET MVC Web 应用程序。

【问题讨论】:

    标签: asp.net namespaces master-pages


    【解决方案1】:

    您是否尝试过关闭 VS 2008,然后再次打开您的项目? 这通常对我有用。

    【讨论】:

    • 这对我不起作用,因为这个问题是几天沮丧的结果,我完全关闭了我的电脑。我的问题是我不知道要恢复/更改的代码到底是什么,因为它很少发生。
    【解决方案2】:

    问题在于您的顶级命名空间和母版页类具有相同的名称。因此,当编译器尝试解析类型时,它会在母版页类中寻找类型“Prototypes.Project01”。

    建议在 mastertype 指令上使用 typename 属性而不是 virtualpath,但是当您在那里使用限定类型名称时,解析器似乎会窒息。因此,在我看来,您有两种选择:

    1. 重命名您的母版页。使用项目名称似乎无论如何都会引起混淆。
    2. 请勿使用 mastertype 指令并在您的代码隐藏文件中手动声明 Master 属性。

    【讨论】:

    • 我遇到了一些麻烦,现在将主文件重命名为 Project01Theme,更改了引用等,现在编译良好 - 包括以前需要更改的行。我看到了我现在所做的事情的缺陷 - 很高兴我发布了这个问题,因为我可能已经有一段时间发现它了!
    猜你喜欢
    • 2011-02-26
    • 2018-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-03
    相关资源
    最近更新 更多