C# 控件是否需要在web应用程序中定义,还是.NET会为您定义

C# 控件是否需要在web应用程序中定义,还是.NET会为您定义,c#,asp.net,C#,Asp.net,我一直认为,当您将一个控件放到.aspx页面上时,最终会为您生成该控件的声明(在设计器文件中,或在您的代码中)。我开发的所有应用程序都是这样工作的。 我的一位同事正在安装resharper,这表明她的所有代码隐藏页面都无法构建。结果表明,resharper找不到她放在标记上的任何控件的定义。她没有设计器文件,也没有标记中的声明。它们是在组合部分类时自动生成的吗?在该页面/项目级别是否有选项指示.NET为您执行此操作?这是web应用程序和web站点之间的区别吗 这是一个.NET3.5站点,C#,正

我一直认为,当您将一个控件放到.aspx页面上时,最终会为您生成该控件的声明(在设计器文件中,或在您的代码中)。我开发的所有应用程序都是这样工作的。
我的一位同事正在安装resharper,这表明她的所有代码隐藏页面都无法构建。结果表明,resharper找不到她放在标记上的任何控件的定义。她没有设计器文件,也没有标记中的声明。它们是在组合部分类时自动生成的吗?在该页面/项目级别是否有选项指示.NET为您执行此操作?这是web应用程序和web站点之间的区别吗

这是一个.NET3.5站点,C#,正在生产环境中运行


提前感谢

您是正确的,区别在于她正在运行一个网站项目,而不是一个Web应用程序项目。在网站中没有设计器文件。所以要回答你的每一个问题

它们是在组合部分类时自动生成的吗

  • 是的,当.aspx被编译时,控件被创建,就像它们在那里一样…这在VS中的后台发生,因此您可以获得intellisense
在该页面/项目级别是否有选项指示.NET为您执行此操作

  • 类似地,使用Web应用程序项目来完成此任务:)
这是web应用程序和web站点之间的区别吗

  • 是的,主要区别之一是:)Web应用程序项目有一个
    Page.aspx.designer.cs
    ,其中包含控件声明

谢谢。。感谢您提供的信息。。如果你想要的话,你还能使用设计器文件吗?@Chris-你可以,但是它会被手动维护,而且既然你用VS获得了intellisense,我不确定拥有一个设计器文件的成本/收益是否值得。不过,切换到Web应用程序……有很多好处:)此处链接了几篇比较文章,如果您有时间,值得一读: