【问题标题】:Regenerate designer.cs [duplicate]重新生成designer.cs [重复]
【发布时间】:2011-07-01 07:04:44
【问题描述】:

我刚刚从一个 aspx 页面中删除了一个 Designer.cs 文件..(不要问我是怎么做到的..你真的不想知道..) 这是一种为aspx页面重新生成文件的方法吗?我希望存在诸如“右键单击/生成设计器”之类的东西,但事实并非如此.. :-(

如果有人有想法,谢谢..

【问题讨论】:

  • 该文件是否仍然存在于项目文件中(使用记事本查看并检查设计器文件与其他页面相比是否正确)?
  • 在 .csproj 中?有一个

标签: asp.net visual-studio-2010


【解决方案1】:

为我的问题找到另一个解决方案,右键单击 aspx 文件,然后选择“转换为 Web 应用程序”,然后重新生成 Designer.cs 文件..

更简单快捷..


此选项在 VS2013 中不再可用,但您可以通过在解决方案资源管理器中选择您的项目,然后转到菜单栏上的 项目 选项来完成相同的操作。在底部附近,您将看到 Convert to Web Application 选项。这将为项目中没有它们的所有 *.aspx 页面生成设计器文件,但请注意,如果您有 CodeFile *.aspx 页面和 CodeBehind 文件的混合,这可能不是您想要的。这也会将 CodeFile 页面转换为 CodeBehind 文件。 (礼貌Joisey Mike

【讨论】:

  • 这是可用的,他们刚刚从上下文菜单中删除了该选项(右键单击)您可以在 Project 下的 Visual Studio 主顶部菜单下找到它。
  • 这行得通。但是,我也是从 vb -> cs 转换的,所以在 aspx 文件中,我必须确保 codefile / codebehind = "MyPage.aspx.cs" 上的扩展名正确。如果它找不到文件,它就不起作用。
  • 在 VS2017 中。我得到的选项只有转换为 Azure 云服务。有什么解决办法吗?
【解决方案2】:

打开设计器并保存(您可能需要更改标记中的某些内容才能保存)。应该重新创建它。但是,仅保留在设计器中的事件订阅和其他设置将无法恢复。

编辑:通过创建一个仅包含部分类定义的空文件来确保设计器文件存在。还要确保它已在项目文件中注册。然后打开设计器或 aspx 页面并做一个小改动(在 aspx 中插入一个空格)并保存。现在应该重新创建设计器文件。

【讨论】:

  • 我试过了,但是不行..
  • @bAN:查看我的编辑。用VS2008试了一下,成功了。
  • 在 VS 2010 中为我工作。我正在重新生成 .ascx 设计器文件,因此此解决方案具有使用设计器文件处理非 .aspx 文件的双重好处。
  • 首先通过添加 shell 部分类定义创建一个 shell 设计器文件,然后对 aspx 页面进行标记编辑,这在 VS2013 Ultimate 中对我来说是诀窍。您还可以从项目中排除 aspx,然后重新包含它,这将更新 shell 设计器部分类文件。
  • 在 VS2013 Ultimate 中将设计器文件创建为具有正确命名约定的部分类对我来说非常有用
【解决方案3】:

使用http://www.r-tt.com 中的 R-Studio 并取消删除它。将来使用源代码管理。

除此之外,尝试将 GUI 控件复制到新页面并将其设计器页面的内容复制到已删除的页面。

【讨论】:

    【解决方案4】:

    如果无法编辑和保存您的 aspx 文件,请尝试以下操作:

    1. 重启 Visual Studio
    2. 确保您的 aspx 文件中没有错误(例如,缺少 标签)

    安装 ReSharper 有助于第 2 步,因为它会提示自动注册缺少的用户控件(但在我的情况下,仅在重新启动后)。

    这在 Visual Studio 2008 中对我有用。

    【讨论】:

      【解决方案5】:

      浏览器中的视图应该重新创建它。

      【讨论】:

      • 它不起作用..也许正如你所说的那样是因为他被删除了
      • 好的,最后一件事是重建整个解决方案。如果它不起作用,我没有其他想法。
      • Bouuuuuuh :-( 它不起作用..
      • 当您尝试我的建议时,您是否收到运行时错误 - 构建错误?首先应该给运行时第二应该给构建错误,如果它不工作
      • 如果你还没有关闭VS,试试ctrl+z一路回来。你也可以这样拿回来:)
      【解决方案6】:

      连同所有其他建议:

      在我的例子中,它是一个用户控件开始丢失它的设计器文件。因此,在 ascx 中,我注释掉了所有内容,只留下了 Assembly、Register 和 Import 标头。然后我重建了解决方案。有了这个成功,我就自动生成了新的设计器代码。我删除了 cmets 并再次重建。一切都回到了应有的位置。

      您的里程可能会有所不同。

      【讨论】:

        【解决方案7】:

        编辑:它应该能够以某种方式重新创建它。但是我的提示仍然有效:使用源代码管理。在未来的某个时候,你会删除一些重要的东西并且无法通过任何方式恢复它,然后你会感谢拥有源代码控制。

        【讨论】:

        • aspx 页面有时可以解决问题。发生在我身上很多,通过拖放创建控件,它可能不会添加到设计器中,你不能在后面的代码中使用它。对我来说,在浏览器中查看总是修复该错误。但正如你所说,删除它可能是别的东西..
        • 适用于 asp.net、webforms、designer.cs 的 aspx 页面是一个分部类,在 aspx 文件中包含 asp 控件的定义。
        • 在 ASP.NET 中,可以重新创建设计器文件,因为它是从 ASPX 页面生成的。
        • 与问题无关。
        • 这是一个生成的文件,通常你会忽略那些来自源代码管理的文件。
        猜你喜欢
        • 1970-01-01
        • 2014-07-13
        • 1970-01-01
        • 2012-12-13
        • 2013-05-18
        • 2016-04-07
        • 2015-07-02
        • 1970-01-01
        • 2023-03-09
        相关资源
        最近更新 更多