主页上的编译器错误

问题描述:

有没有人有将主页从一个解决方案/应用程序移动到另一个的建议?主页上的编译器错误

我已经从现有的解决方案,以一个新的复制母版页。

原始解决方案构建并运行良好。

在新的解决方案的页面原因生成错误

这些主要是“变量”未声明。

我注释掉了所有页面的服务器代码的,除了2个非常简单的语句。

声明1引用控件是在原页面标记

pgLoginView.EnableViewState = True 

声明2个引用新添加用于测试目的控制

lblFrogs.Text = "sdfgsd" 

就好像编译器不知道的应该从标记生成的类成员。我已检查标记文件的“继承”属性设置正确。 当我在代码编辑器中调用intellisense时,列出了两个对象(lblFrogs和pgLoginView),并在按''后正确列出它们的属性和方法。

任何有关这个问题的帮助或想法将不胜感激。我在智慧的结尾 - 这是一段短暂的旅程。

+0

包含您的网页Web站点或Web应用程序项目中?每个编译过程都非常不同。 – 2009-09-16 16:04:43

+0

它在一个Web应用程序项目 – RobD 2009-09-16 16:13:24

我终于用Profile对象找到了我的悲哀之源。

首先,配置文件功能仅在网站类型项目中可用。然而,由于该项目已被转换为网站类型以解决引用页面元素的第一个问题,那么为什么配置文件对象不可用?

答案是转换不会修改页面标记。后面代码的位置需要用“CodeFile”来指定,并且Inherits属性必须关闭前导名称空间信息。例如:

你掌握页。您应该检查生成的设计代码 - 尽管在.aspx /的.master页面用于在运行时你的页面上创建的所有控件的情况下,在编译时所有关于什么样的控制是信息目前的标记被包含在部分班级在.designer.master文件:

public partial class Site1 
{ 
    /// <summary> 
    /// ContentPlaceHolder1 control. 
    /// </summary> 
    /// <remarks> Auto-generated field.</remarks> 
    protected global::System.Web.UI.WebControls.ContentPlaceHolder ContentPlaceHolder1; 

    // Etc... 
} 

如果该页面不包含包含正确生成代码,然后我真的不知道该怎么建议比其他游戏或者如果你真的坚持自己宣布控制 - 我以前有过这个问题,但我不知道如何设计器代码生成。

如果那不是porblem那么你肯定是Visual Studio中处理不当决定重新命名的任何控件?

+0

啊!我不知道用于编译的designer.master。我已经打开它,实际上物体不在那里! – RobD 2009-09-16 16:10:43

christian-hayter似乎是在正确的轨道上。我将该项目转换为网站项目,问题消失了。

看来根本原因可能仍然是一个谜。

东西肯定已经发狂了与编制此页面。

我无法引用配置文件属性。这article from Dino Esposito 说,档案对象添加到页面像这样的编译过程的一部分:

保护的ProfileCommon档案{ 获得{ 回报((的ProfileCommon)(上下文。简介)); }}

当我为做文件查找的ProfileCommon在一个工作项目,我从在asp.net临时文件许多成果。在破损的项目中,ProfileCommon不会在任何文件中发生。

+0

澄清上述内容 - 由于ProfileCommon未知,因此我无法手动将该属性添加到页面。 – RobD 2009-09-17 08:16:23

+0

我曾尝试过这种建议的各种排列: http://www.brendancleary.com/?p=41 无济于事。配置文件属性和ProfileCommon无法从母版页或添加的空白测试页访问 – RobD 2009-09-17 08:40:33