在WAP转换期间无法解析.aspx

时间:2011-07-23 06:20:48

标签: asp.net namespaces web-site-project web-application-project

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

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

我的代码隐藏页面都具有名称空间Instant.Web以及项目属性设置为主要名称空间的Instant.Web。

所以当我去一个页面例如,它没有识别我的继承的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>

SomeaspxPage.aspx.cs

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

    }
}

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

5 个答案:

答案 0 :(得分:0)

  1. 不知道它是否与您的实际案例相关,但是对于您的示例,您有一个属性Codebehind="Attachment.aspx.cs",它查找文件Attachment.aspx.cs,但文件的名称是SomeaspxPage .aspx.cs。通常“无法解析文件”意味着向导无法找到匹配的代码隐藏文件,也无法转换页面。

  2. 来自here的另外一条说明:

  3.   

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

    如果您已添加对自定义UserPage的引用,则从您的描述中不清楚。如果没有,那个程序集只是被复制到WAP项目中,它也会导致转换错误。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

确认您在项目的References文件夹中有System.Web。

如果存在,请验证它所引用的版本(目录)是否与项目所针对的.NET版本相同。

答案 3 :(得分:0)

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

我认为VS正在缓存某些内容并且项目需要重新加载。

答案 4 :(得分:-1)

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