我之前曾经处理过在VS项目中不存在.designer.cs文件的情况。
现在我在另一台电脑上开始了一个新项目,但却无法摆脱designer.cs文件的困扰。这真的很恼人。我是否真的需要它?如何移除它?一定有某个设置可以解决。
我之前曾经处理过在VS项目中不存在.designer.cs文件的情况。
现在我在另一台电脑上开始了一个新项目,但却无法摆脱designer.cs文件的困扰。这真的很恼人。我是否真的需要它?如何移除它?一定有某个设置可以解决。
是的!你可以删除它们......以下是方法......
如何从Web应用程序中删除Designer.cs页面
经过长时间的努力和测试,我终于找到了一种避免在Visual Studio(版本2015及更早版本)中出现designer.cs页面的方法。如果任何人在Visual Studio中的Web应用程序项目中陷入了designer.cs页面的困境,此解决方案将使您能够快速消除所有应用程序编译错误,然后完全从项目中删除designer.cs页面。
首先要理解以下内容:
Web应用程序项目使用由Visual Studio自动生成的designer.cs页面(部分类),这些页面与Web应用程序内置的设计工具相关联,该Web应用程序模型维护此类工具。我称其为“傻瓜网站”。我找不到任何设置或关闭生成部分类和designer.cs页面的方法,因为它们通常是与IDE相关而不是与应用程序的功能相关的不必要代码。所有部分类最终都编译为一个类。Web应用程序也一般是预编译或提前构建的,并且这些dll被推送到bin文件夹中。
Web站点项目不使用designer.cs文件,与IDE关系较少。它们允许更干净的类结构编码。它们也使用部分类。但Web站点项目通常在运行时编译。
解决方案-如何从Visual Studio Web应用程序项目中删除“...designer.cs”错误和文件。
除非您想将Web项目从应用程序模型转换为Web站点模型,否则以下解决方案允许您按原样运行项目,但是像Web站点一样,在其中可以将大多数或所有designer.cs部分类控件引用从该文件移动到主网页部分类文件中。它还消除了所有错误,并且不会干扰Visual Studio在其他开发人员共享它们并添加控件到页面并忘记在特定页面上使用此解决方案的情况下重新创建那些设计师文件。
在前端.aspx页面中,在@PAGE指令顶部,将“CodeBehind”更改为“CodeFile”。确保它仍然引用相同的.cs代码或类文件。
在您的网页中,向相同的@Page指令添加“CodeFileBaseClass”属性,并使其访问相同的.cs完全限定路径以及路径中的任何命名空间。
确保使用与“CodeFileBaseClass”相同的路径使用“Inherit”属性。
每个Web应用程序中的每个网页都应具有以下格式化的属性:
<%@ Page Language="c#" CodeFile="index.aspx.cs" CodeFileBaseClass="YourNameSpace.index"
Inherits="YourNameSpace.index" %>
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";
}
}
}
真正的“答案”是让微软允许你不使用它们。