VS2008 Web应用程序中无法识别自定义命名空间

时间:2012-11-20 17:06:06

标签: c# asp.net visual-studio-2008 asp.net-3.5

我已将C#ASP网站转移到C#ASP Web应用程序上。我这样做了所以我可以做一些事情,比如添加Pre-Build事件。

除了我在App_Code文件夹中的.cs文件中声明的一些名称空间无法识别外,所有内容似乎都正常工作。

我遇到了构建错误,例如

The type or namespace name 'nsAppGlobal' could not be found (are you missing a using directive or an assembly reference?)

我有一个.cs文件,它很清楚地声明了这个命名空间。出于某种原因,Intellisense和编译器都看不到它。

我听说我可以通过将我的命名空间构建到dll库中,然后在Web应用程序中包含那个来解决这个问题。这听起来很傻 - 因为我怎么编辑那段代码?我将不得不在另一个项目中编辑并重建dll?

有没有人遇到过这个问题?在Web应用程序项目中使用名称空间的最佳策略是什么?

2 个答案:

答案 0 :(得分:3)

migrating a web site to a web application时,我也注意到了这种行为:似乎App_Code目录由于其“神奇”名称而被忽略。

解决方案很简单:只需重命名App_Code目录。

答案 1 :(得分:2)

有时,在将网站转换为Web应用程序时,Global.asax命名空间会被破坏。 Global.asax.cs将具有正确的命名空间,但Global.asax不会。

<%@ Application Codebehind="Global.asax.cs" Inherits="WILD.MvcApplication" Language="C#" %>

默认情况下,当您打开Global.asax时,它会打开关联的C#文件。您想要查看标记。确保属性“继承”与Global.asax.cs命名空间匹配。