5

我已将网站文件复制到一个新的 WAP 项目中。确保它可以编译并且可以编译。我遇到的问题是当我执行转换为 WAP 时它无法解析 .aspx 页面。该错误只是说它无法解析 .aspx 页面。

当我查看其中一个 .aspx 页面时,我有 page 指令,但它无法识别该命名空间。这就是我用于我的新 WAP 项目的命名空间。

我的代码隐藏页面都具有命名空间 Instant.Web,并且项目属性设置为 Instant.Web 作为主命名空间。

因此,例如,当我转到一个页面时,它无法识别我的 Inherits 的 Web.Attachment 部分。

这是一个示例(稍微修改了隐私的措辞):

SomeAspxPage.aspx

<%@ Page Language="C#" Inherits="Instant.Web.Attachment" Codebehind="SomeAspxPage.aspx.cs" %>
<asp:Content ID="ctlContent" ContentPlaceHolderID="ctlContentPlaceHolder" runat="Server">
    <Frm:Attachment ID="Attachment1" runat="server"/>
</asp:Content>

一些aspxPage.aspx.cs

namespace Instant.Web
{
    public partial class Attachment : Instant.InstantFrm.Pages.Base.UserPage
    {

    }
}

同样由于某种原因,代码隐藏中的 UserPage 没有显示为您可以右键单击并转到源代码的类。不知道为什么,因为该程序集肯定在此 WAP 项目中,并且它是 Instant.InstantFrm 的最新程序集

4

5 回答 5

0

尝试在您的项目中添加一个新的空白页,检查是否可以解析。

然后在小步骤中添加功能,直到您获得与给您错误的页面相同的页面。

这应该可以让您确定问题所在。

于 2011-07-29T10:14:18.923 回答
0
  1. 不知道它是否与您的实际情况相关,但对于您的示例,您有一个Codebehind="Attachment.aspx.cs"查找文件 Attachment.aspx.cs 的属性,但文件的名称是 SomeaspxPage.aspx.cs。通常“文件无法解析”意味着向导找不到匹配的代码隐藏文件并且无法转换页面。

  2. 顺便说一句,这里还有一个注意事项:

在转换项目文件之前,为 Bin 文件夹中存在的程序集添加对 Web 应用程序项目的引用,以帮助防止错误。

从您的描述中不清楚您是否添加了对自定义 UserPage 的引用。如果没有,并且该程序集只是被复制到 WAP 项目的某个地方,它也可能导致转换错误。

于 2011-07-29T10:00:58.147 回答
0

根据Warning 126 Unrecognized tag prefix or device filter 'asp'其中一条评论中的引用,听起来您在 CSProj 文件中缺少一个程序集引用。

验证项目的 References 文件夹中是否有 System.Web。

如果存在,请验证它从中提取的版本(目录)与您的项目所针对的 .NET 版本相同。

于 2011-08-02T15:02:54.943 回答
0

保存并关闭解决方案,然后重新打开并重试。

我推测 VS 正在缓存一些东西,需要重新加载项目。

于 2016-09-02T17:33:53.717 回答
-1

对于 WAP 站点,我将完全删除 ASPX 布局(第一行除外,这是必需的)并Response.Write在代码隐藏中使用输出内容。除了简单之外,这还提供了更清晰的输出和对过程的精细控制。

于 2011-08-02T12:54:15.020 回答