gpt4 book ai didi

c# - 从 ASP.NET 4 网站项目迁移到 Visual Studio 2010 中的 Web 应用程序项目导致所有控件引发错误?

转载 作者:太空宇宙 更新时间:2023-11-03 16:47:19 25 4
gpt4 key购买 nike

我最近将我的 VS2010 网站项目从 .NET 3.5 更新到 4.0。网站项目一切正常。今天我决定将网站迁移到 Web 应用程序项目,因为我了解到这是在 .NET 中工作的最佳方式。我将我所有的类文件拆分到一个单独的类库中,并将所有其他内容复制到我的新项目中。然后我更新了所有引用资料和 web.config。

当我构建类库时,一切正常。

当我尝试构建/调试 Web 应用程序项目时出现问题。它表现得好像所有的控件都丢失了,而且它还抛出了一堆关于我的母版页中的公共(public)属性的编译错误。

控制错误:

"The name 'INSERT CONTROL NAME HERE' does not exist in the current context"

母版页错误:

'System.Web.UI.MasterPage' does not contain a definition....

它为我整个解决方案中的每个控件和母版页属性提供这些错误。

我注意到,当我向该项目添加一个新的 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

设计器文件是自动生成的,但您可能需要“触摸”每个页面才能生成。

关于c# - 从 ASP.NET 4 网站项目迁移到 Visual Studio 2010 中的 Web 应用程序项目导致所有控件引发错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5477568/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com