2011-09-21 88 views
1

您好我有一个ASP Web应用程序在C#上运行,作为其后端,我试图运行但该网页(在我的盒子上本地运行)给了我错误消息。现在webapp试图引用的命名空间是“using LAD.CDD.NSJ;”它们位于App_Code文件夹中。无法找到类型或名称空间名称'LAD'(您是否缺少using指令或程序集引用?)

这些文件的名称是Common.cs,Email.cs,Data.cs和User.cs.

它们都在代码中有一个叫做LAD.CDD.NSJ的命名空间。以前的程序员并没有将这些文件制作成一个dll文件,而是将其保存为一个.cs文件。我正在尝试将这些文件用于其他项目,但不断收到该错误消息。

+0

是这些文件的.cs现在添加到您的网络应用程序? – Praveen

回答

2

App_Code文件夹是ASP.NET中的一个特殊文件夹。 ASP.NET会将类型App_Code编译成实际上与您的Web应用程序程序集分离的程序集。这意味着,当您尝试使用后端代码中的这些类型(例如MVC控制器)时,它无法解析类型,因为这些类型的Build Action设置为Content。通过该构建操作,该文件将不会包含在主应用程序的编译中。

我建议做,是使用App_Code因为简单地改变生成操作Compile不会停止ASP.NET动态编译一个App_Code组装沟,所以你最终暧昧类型(即运行时不知道是否使用编译到主应用程序组件的类型,或动态App_Code文件汇编。

移动这些文件到另一个位置,并设置生成操作(在属性),以Compile

+0

我在看,并认为这可能是问题的一部分但我真的不知道是否有所作为。你很难做到这一点,我很感动。感谢你的回答。 – nhat

+0

如果我移动这些文件,你推荐我在哪里移动它?除了App_Code文件夹以外的任何文件夹? – nhat

+0

Web应用程序不应该关心你的文件夹结构是什么(在使用特殊的ASP.NET文件夹之外)。目前常见的做法是使用'Models'文件夹,但我经常觉得并不总是描述其中包含的类型。 –

相关问题