如何删除 ASP.NET Designer.cs 文件?

2024-01-07

我之前参与过没有 .designer.cs 文件的 VS 项目。

现在我在另一台计算机上开始了一个新项目,但无法删除 Designer.cs 文件。这真的很烦我。我真的需要它吗?我该如何删除它?一定有某个地方的设置。


是的!您可以删除它们......这是方法......

如何从 Web 应用程序中删除 DESIGNER.CS 页面

经过巨大的折磨和大量测试,寻求一种避免 Visual Studio(2015 版及更早版本)中的 Designer.cs 页面的方法,我终于找到了解决此问题的方法。如果有人被困在 Designer.cs 页面中网络应用项目在 Visual Studio 中,此解决方案将允许您快速删除所有应用程序编译错误,然后从项目中完全删除 Designer.cs 页面。

首先了解以下几点:

网络应用项目使用 Visual Studio 自动生成的 Designer.cs 页面(部分类),这些页面与 Web 应用程序模型所支持的 Web 应用程序中内置的设计工具相关联。我称之为傻瓜网站。我找不到任何设置或方法来关闭部分类和 Designer.cs 页面的创建,因为它们通常是不必要的代码,与 IDE 的联系比应用程序的功能更多。无论如何,所有部分类都会编译为一个类。 Web 应用程序通常也会根据设计提前预编译或构建,并且这些 dll 会被推送到 bin 文件夹中。

网站项目不使用 Designer.cs 文件,并且与 IDE 的联系较少。它们允许对类结构进行更清晰的编码。他们还使用部分类。但网站项目通常是在运行时编译的。

解决方案 - 如何从 Visual Studio 中的 Web 应用程序项目中删除“...designer.cs”错误和文件。

除非您想在 Visual Studio 中将您的 Web 项目从应用程序转换为网站模型,否则下面的解决方案允许您按原样运行您的项目,但就像网站一样,您可以在其中移动大部分或全部 Designer.cs 部分类控制引用从该文件到您的主网页部分类文件中。它还可以消除所有错误,并且如果其他开发人员共享这些设计器文件并向页面添加控件并忘记在特定页面上使用此解决方案,也不会干扰 Visual Studio 重新创建这些设计器文件。

  1. 在前端 .aspx 页面中,在顶部的 @PAGE 指令中,将“CodeBehind”更改为“CodeFile”。确保它仍然引用相同的 .cs 代码或类文件。

  2. 将“CodeFileBaseClass”属性添加到网页中的同一 @Page 指令,并让它访问上面相同 .cs 的完全限定路径以及路径中的任何命名空间。

  3. 确保使用与“CodeFileBaseClass”相同路径的“Inherit”属性。

您的 Web 应用程序中的每个网页都应该具有以下属性,这些属性的格式如下:

<%@ Page Language="c#" CodeFile="index.aspx.cs" CodeFileBaseClass="YourNameSpace.index" 
 Inherits="YourNameSpace.index" %>

现在进入页面的 Designer.cs 文件,并将设计器文件中的分部类中的所有控件引用复制到网页的主 .cs 文件的分部类中。如果您丢失了 Designer.cs 文件,只需添加任何 Web 控件作为字段引用,作为编译器认为丢失的字段。执行此操作后,删除 Designer.cs 文件。您不需要它们,并且可以使用主 .cs 文件及其部分类完全控制您的网页控件。

以下是删除前 Designer.cs 文件中的内容。下面是我将 designs.cs 控件引用添加为其部分类中的字段后项目的主要 index.aspx.cs 文件。然后我从我的项目中完全删除了 Designer.cs 文件及其代码:

namespace YourNameSpace
{
public partial class WebForm1
{

    /// <summary>
    /// form1 control.
    /// </summary>
    /// <remarks>
    /// Auto-generated field.
    /// To modify move field declaration from designer file to code-behind file.
    /// </remarks>
    protected global::System.Web.UI.HtmlControls.Literal Message1;
}
}

在下面的 index.aspx.cs 文件中,您可以看到我将上面设计器的最后一个“Message1”参考行粘贴到顶部的部分类中。您可以看到我如何在 Page_Load 事件中访问网页文字控件 Message1 并修改文本。这表明它现在被正确引用、编译和工作,而在此之前,如果 Designer.cs 文件丢失或其部分类失败,则此类引用会失败:

namespace YourNameSpace
{
public partial class index : System.Web.UI.Page
{
    protected global::System.Web.UI.WebControls.Literal Message1;

    protected void Page_Load(object sender, EventArgs e)
    {
        this.Message1.Text = "hello world";
    }
}
}

解决此问题的关键是主网页中 @Page 指令中的 CodeFileBaseClass 和 CodeFile 属性。这可以防止 Visual Studio IE 自动生成网页中的新成员引用和控件,并作为存根卡在设计器页面部分类中(当您希望在单个方便区域中完全控制这些字段时,这对我来说没有帮助) 。

注意:如果您稍后通过在 VS 中选择项目来再次为您的项目重新生成 Designer.cs 文件,则在顶部菜单中选择“项目”>“转换为 Web 应用程序”,将重新创建这些 Designer.cs 文件,但 Visual Studio 只会将对缺少的 Web 控件的引用放置在其中,这些控件现在尚未添加到主 .cs 部分类页面中。换句话说,我在上面复制并添加到 index.aspx.cs 部分类文件的任何引用都不会在新的 Designer.cs 文件中重新创建。所以与您正在使用的Web应用程序模型没有冲突。当您看到这些设计器文件时,您现在可以让开发人员安全地将它们复制到 .cs 文件后面的主代码中,并根据需要安全地删除设计器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何删除 ASP.NET Designer.cs 文件? 的相关文章

随机推荐

  • 如何在android sqlite中向文本数据类型添加主键? [复制]

    这个问题在这里已经有答案了 可能的重复 是否可以在android数据库中的文本字段上应用主键 https stackoverflow com questions 7591492 is it possible to apply primary
  • Sqlite在创建表中设置默认值

    我写了类似的东西 create table if not exists QuickTest id integer primary key NOT NULL a TEXT DEFAULT 0 b TEXT c TEXT 我在 0 上遇到错误
  • 尝试静默命令时 Dos2unix 不工作

    我是这样从 Python 中调用 dos2unix 的 call dos2unix file1 shell True stdout PIPE 然而 为了使 Unix 输出保持沉默 我这样做了 f null open os devnull w
  • 如何找到完整无向图中的哈密顿循环数?

    有人可以解释如何在完整的无向图中找到哈密顿循环的数量吗 维基百科说 http en wikipedia org wiki Hamiltonian path Properties公式是 n 1 2 但是当我用这个公式计算时 K3只有1个周期
  • 在正则表达式中匹配带有井号 (#) 符号的单词

    我有正则表达式来检查某些文本是否包含单词 忽略边界 String regexp bSOME WORD HERE b 但是这个正则表达式返回false当 SOME WORD 以 主题标签 开头时 Example without String
  • 访问 SCD 中的静态文件

    In the NET CORE应用程序 我正在使用静态文件wwwroot文件夹 运行它时dotnet run the index html文件显示流畅且正常localhost port 但在将应用程序发布为SCD独立的开发包 并运行 exe
  • Razor 智能感知不适用于自定义 ASP.NET MVC 构建

    我能够创建 ASP NET MVC 的自定义构建并在 Web 应用程序中使用它 但是 我似乎无法弄清楚如何让 Razor 智能感知正常工作 如果您按照以下步骤操作 Razor 智能感知将仅显示网页信息 而不显示其他内容 HTML 帮助程序等
  • 使用字符串的值创建新的表单对象

    我有一个已启动的主表单 然后它可以转到我创建的任何其他表单 但最重要的是 我编写了一个类 我称之为它返回一个字符串 其中包含要转到的表单名称 目前我还没有这个工作 所以我将像这样从一个表单转到另一个表单 静态编写的链接代码 this Hid
  • 在 redux 中使用不可变 js(toJS 和 from JS)的正确方法

    我想知道这是否是正确的使用方法immutable js与 redux 和reselect also redux saga 具体来说我想知道toJS 和来自fromJS 以及在哪里使用它们 我的想法是 I use toJS 向传奇发送数据时
  • 当数据更改时,如何在 DataGrid 中保持选择?

    我有一个 DataGrid 并将 DataProvider 设置为我的数据 当我的数据更改时 DataGrid 会丢失所选行 并且滚动条会跳回到顶部 如何保持选择和滚动位置 如果你只是想保住位置 在任何更改数据的函数中 首先捕获选定的索引
  • 如何让ViewSwitcher只包裹当前显示的视图高度?

    我正在使用一个视图切换器 http developer android com intl fr reference android widget ViewSwitcher html这让我可以轻松地在两个不同的内置动画的列表标题之间来回翻转
  • 通过 http 标头传递真实性令牌

    我有一个使用令牌来验证用户身份的 Rails 应用程序 目前我正在将令牌作为参数传递 我想改变这一点 我相信可以通过 html header 传递它 我不明白如何使用authenticate or request with http tok
  • React Native 应用程序的 UI(在 iOS 上)滞后并且 fps 速率定期下降

    我的 React Native 应用程序的 UI 经常下降 但仅限于 iOS 我附上了一张屏幕截图 显示 UI fps 约为 11 而且它是一个非常稳定的波 并且不断发生多次 这会导致令人烦恼的滞后 例如在过渡 动画或倒计时 如附加屏幕上
  • 未知类型名称字符串 C++

    我是 C 新手 并且在我的程序中获得了一些帮助来比较两个 XML 文件 这是我的代码 include pugixml hpp include
  • Android.mk 应该在哪里?

    在 Android NDK 的文档中 存在以下声明 Android mk 文件位于项目 jni 目录的子目录中 http developer android com ndk guides android mk html http devel
  • 如何在 jQuery.validation 中添加不等于规则

    我想知道如何制作它 以便我可以制定一个字段不等于值的规则 就像我有一个名为 姓名 的字段 所以我不希望 姓名 您的名字 有人知道如何做到这一点吗 谢谢你的帮助 您可以使用自定义方法 如下所示 jQuery validator addMeth
  • UITextField 最大长度

    当我尝试过如何使用 swift 设置可以输入 UITextField 的最大字符数 https stackoverflow com questions 24641982 how to you set the maximum number o
  • PHP ltrim 与字符列表的行为

    我试图使用 php ltrim 函数从字符串中剥离一些开始部分 它工作正常 直到它在冒号 之后得到一个 i 字符 如果它在冒号后面找到 i 它就会忽略 i 字符 我知道可以用 substr 或任何其他方式来完成 但我想知道为什么它会发生在修
  • pageAction 上的 chrome“setBadgeText”

    我正在寻找如何将文本设置为页面操作图标并找到了这个示例 window setInterval function chrome pageAction setIcon imageData draw 10 0 tabId tabId 1000 f
  • 如何删除 ASP.NET Designer.cs 文件?

    我之前参与过没有 designer cs 文件的 VS 项目 现在我在另一台计算机上开始了一个新项目 但无法删除 Designer cs 文件 这真的很烦我 我真的需要它吗 我该如何删除它 一定有某个地方的设置 是的 您可以删除它们 这是方