3

My question is similar to here: ASP.NET System.Anything is not defined

I am in the process of converting a website project to an MVC 4 project. To do this, I created a new MVC project and imported all of my content from the previous website. Both projects are in VB, and I'm using Visual Studio 2010 SP1, with both the MVC 4 update and TFS 2012 update applied.

I now have errors popping up when I build the MVC project. Things like "Type 'System.Web.UI.Webcontrol' is not defined." When I hover over the error, two of the prompts I get to fix it are

1) Change 'System.Web.UI.WebControl' to 'Global.System.Web.UI.WebControl' 2) Change 'System.Web.UI.WebControl' to 'WebControl'

Both of these seem to fix it, but does anyone know why I can't use "System.Web.UI.WebControl" to refer to this class? I'd rather not change all of my code... there are 100s of thousands lines in there.

Update: Outside of the System and System.Web.UI namespaces, I can also drop the 'System.'. So 'System.Drawing.Color' would become 'Drawing.Color'.

4

2 回答 2

0

System在您的解决方案中的某处(例如)中存在另一个名称空间Abc.System.def- 可能在引用的库中。System转换后,项目文件可能在所述命名空间(例如)中导入了前缀 to Abc,因此当您输入 时System,它会解析为Abc.System.

于 2013-10-08T04:15:15.793 回答
0

我在尽可能多地减少编译错误之前发布了这个问题。

看来,在我System.从以前的 App_Code 类中删除所有引用之后,真正的错误开始出现。有各种关于 aspx 控件不存在的消息。

最终,我似乎需要从我的网站项目中右键单击 .aspx 页面并选择“转换为 Web 应用程序”。这会生成一个 .aspx.designer.vb 文件,其中包含另一个部分类中的 asp.net 控件声明。

对所有页面执行此操作后,我现在可以在System.整个应用程序中使用。

对于其他询问过的人,此System.错误仅影响非页面代码。.aspx、.aspx.vb、.ascx、.ascx.vb、.ashx 等文件不受影响。

无论如何,这确实是有道理的,因为我之前在拉入页面之前拉入了所有 App_Code 库,并编译了网站。导入页面及其背后的代码后,错误的顺序很奇怪。但我坚持下去,找到了根本原因。

感谢您愿意提供帮助。如果您有任何其他问题,我很乐意回答。

于 2013-10-13T19:39:58.307 回答