App_Code文件夹问题

Eth*_*son 28 c# asp.net app-code visual-studio

所以我在我正在设计的新网站上的App_Code文件夹中遇到了一个非常奇怪的问题.

我在App_Code文件夹中的命名空间内有一个基本类.当我设置命名空间并从类中创建一个对象时,IDE中的一切工作正常.它会显示有关悬停的类摘要,当您单击"转到deffinition"时,它将转到类文件.它也适用于localy.

但是,当我将网站加载到我的服务器上时,我在访问该页面时收到此错误消息:

第10行:使用System.Web.UI.WebControls;
第11行:使用System.Web.UI.WebControls.WebParts;
第12行:使用xxxx.xxxx

编译器错误消息: CS0246 :找不到类型或命名空间名称'xxxxxx'(您是否缺少using指令或程序集引用?)

我知道类文件存在的事实.任何人都知道最新情况怎么样?

编辑:

约翰,是的,这是一个2.0网站.

Kas*_*hef 66

您的类未编译的问题,您只需转到App_Code文件夹中任何类的属性并将其"Build Action"属性从"Content"更改为"Compile"即可解决此问题.

  • 这样做有什么分歧,这是默认设置的原因吗? (2认同)

X-C*_*bed 22

如果您的应用程序是Web应用程序项目而不是Web站点项目,则代码文件不应位于App_Code文件夹中(我知道这是愚蠢的设计).创建一个名为code或something的新文件夹并将其放在那里.

当我将一堆旧的.Net网站升级到应用程序项目时,它给我带来了各种各样的问题.

  • 值得注意的是,如果您只是将代码文件从 App_Code 文件夹中拖到您的新文件夹中,它们的构建操作属性可能仍然设置为内容,而应用程序的其余部分将无法看到命名空间,就像一个下面提到的答案中,将其设置为 compile 会对此进行排序,我认为默认情况下在 App_Code 文件夹中创建的任何类文件都将设置为 build action = content,即使在 WAP 项目中也是如此。 (2认同)