如何删除ASP.NET Designer.cs文件?
我以前在没有.designer.cs文件的VS项目上工作过如何删除ASP.NET Designer.cs文件?,asp.net,visual-studio,partial-methods,Asp.net,Visual Studio,Partial Methods,我以前在没有.designer.cs文件的VS项目上工作过 现在我在另一台计算机上启动了一个新项目,我无法摆脱designer.cs文件。真让我讨厌。我真的需要它吗?我如何才能移除它?必须在某个地方设置。您处理的是web应用程序,而不是网站() 是的,在web应用程序的上下文中,您确实需要它们。是的!你可以移除它们……以下是如何 如何从WEB应用程序中删除DESIGNER.CS页面 在Visual Studio(v.2015及更早版本)中,经过大量的折磨和测试,我终于找到了一种解决方法。如果有人
现在我在另一台计算机上启动了一个新项目,我无法摆脱designer.cs文件。真让我讨厌。我真的需要它吗?我如何才能移除它?必须在某个地方设置。您处理的是web应用程序,而不是网站()
是的,在web应用程序的上下文中,您确实需要它们。是的!你可以移除它们……以下是如何 如何从WEB应用程序中删除DESIGNER.CS页面 在Visual Studio(v.2015及更早版本)中,经过大量的折磨和测试,我终于找到了一种解决方法。如果有人在Visual Studio中的Web应用程序项目中使用designer.cs页面,此解决方案将允许您快速删除所有应用程序编译错误,然后从项目中完全删除designer.cs页面 首先了解以下内容: Web应用程序项目使用Visual Studio自动生成的designer.cs页面(分部类),这些页面与Web应用程序模型支持的Web应用程序中内置的设计工具相关联。我称之为傻瓜网站。我找不到任何设置或方法来关闭创建分部类和designer.cs页面,因为它们通常是不必要的代码,与IDE的联系比应用程序的功能更紧密。所有的部分类都被编译成一个类。Web应用程序通常通过设计提前预编译或构建,这些dll被推送到bin文件夹中 网站项目不使用designer.cs文件,并且与IDE的关联较少。它们允许对类结构进行更清晰的编码。它们也使用分部类。但网站项目通常在运行时编译 解决方案-如何在Visual Studio中从Web应用程序项目中删除“…designer.cs”错误和文件 除非您希望在Visual Studio中将web项目从应用程序转换为web站点模型,否则下面的解决方案允许您按原样运行项目,但与web站点一样,您可以将大部分或所有designer.cs部分类控件引用从该文件移到主网页部分类文件中。如果其他开发人员正在共享这些设计器文件并将控件添加到页面,而忘记在特定页面上使用此解决方案,则它也会删除所有错误,并且不会干扰Visual Studio重新创建这些设计器文件
<%@ Page Language="c#" CodeFile="index.aspx.cs" CodeFileBaseClass="YourNameSpace.index"
Inherits="YourNameSpace.index" %>
解决这个问题的关键是主网页中@Page指令中的CodeFileBaseClass和CodeFile属性。这可以防止web页面中的新成员引用和控件由Visual Studio IE自动生成,并作为存根固定在设计器页面的分部类中(对于我来说,如果您希望在单个方便的区域中完全控制这些字段,这是没有用的)
注意:如果以后通过在VS中选择项目再次为项目重新生成designer.cs文件,则在顶部菜单中选择项目>“转换为web应用程序”,将重新创建这些designer.cs文件,但是VisualStudio将只在其中放置对缺少的web控件的引用,这些控件现在没有添加到主.cs部分类页面中。换句话说,我在上面复制并添加到index.aspx.cs部分类文件中的任何引用都不会在新的designer.cs文件中重新创建。因此,与您使用的Web应用程序模型没有冲突。当您看到这些设计器文件时,现在可以让开发人员安全地将它们复制到.cs文件后面的主代码中,并根据需要安全地删除设计器。您处理的是web应用程序,而不是网站。保留设计器文件。它们是必不可少的。你的项目受源代码管理吗?不,我的项目不受源代码管理,这有什么区别吗?我同意,你应该能够隐藏它们。您不会编辑它们,因为它们是自动生成的。你不会改变它们,因为任何改变都不会持续。那我为什么要看他们?
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;
}
}
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";
}
}
}