![](/img/trans.png)
[英]Where do I put classes when using Web Application project type of Visual Studio .NET instead of Website? (ASP.NET)
[英]Migrating from ASP.NET 4 website project to web application project in Visual Studio 2010 Causing all controls to throw error?
我最近将VS2010网站项目从.NET 3.5更新到了4.0。 网站项目中的一切工作正常。 今天,我决定将网站迁移到Web应用程序项目,因为我了解到这是在.NET中工作的最佳方法。 我将所有类文件拆分到一个单独的类库中,并将所有其他内容复制到新项目中。 然后,我更新了所有引用和web.config。
当我建立类库时,一切都很好。
当我尝试构建/调试Web应用程序项目时,就会发生问题。 它的行为就像所有控件都丢失了一样,并且还引发了一些关于我在母版页中具有的公共属性的编译错误。
控制错误:
“名称'INSERT CONTROL NAME HERE'在当前上下文中不存在”
母版页错误:
'System.Web.UI.MasterPage'不包含定义。...
它为我整个解决方案中的每个控件和母版页属性提供了这些错误。
我注意到,当我向该项目添加新的web.form时,除了.aspx和.aspx.cs文件之外,它还添加了filename.aspx.designer.cs文件。 我的现有文件没有这些额外的文件,因为它们是在其他.NET版本中创建的。
有人对如何克服这些问题有想法吗?
更新:似乎我缺少需要右键单击新应用程序文件夹并选择“转换为Web应用程序”的步骤。 我只是这样做了,似乎要好一些...
现在,它使单引号内的立即数令人窒息:
<div class='<asp:Literal ID="CssClassLiteral" runat="server"></asp:Literal>'>
进行转换时,它没有看到此文字...上面的有效代码还是我应该以其他方式实现该功能?
是的-网站项目和Visual Studio中的Web应用程序项目之间的主要区别之一是Web应用程序项目为每个页面/用户控件定义了designer.cs文件。
因此,假设您在一个网站中的网页后面有一个代码:
Default.aspx
Default.aspx.cs
在Web应用程序中,现在需要设计器:
Default.aspx
Default.aspx.designer.cs
Default.aspx.cs
设计器文件是自动生成的,但是您可能需要“触摸”每个页面才能生成。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.