App_Code文件夹问题

时间:2008-09-18 02:49:01

标签: c# asp.net visual-studio app-code

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

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

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

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

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

我知道类文件存在的事实。任何人都知道最近会发生什么?

编辑:

John,是的,这是一个2.0网站。

6 个答案:

答案 0 :(得分:66)

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

答案 1 :(得分:22)

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

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

答案 2 :(得分:2)

这恰好发生在我身上,解决方案是App_Code(和App_Data)没有放在服务器的根目录中,而是放在其他所有内容的子文件夹中。必须是root!

答案 3 :(得分:1)

我注意到,只要在引用的程序集或代码文件中发生编译时错误,IDE解析器和编译器之间就会出现不匹配。在这种情况下,IDE将正确识别类型并为它们提供完全支持,但由于编译器无法创建引用的对象,因此它会抱怨引用的对象不存在。

现在我不想指责任何人 - 这只是猜测 - 但你应该确保你引用的代码文件中没有任何错误。

答案 4 :(得分:1)

根据您发布网站的方式,它不会在App_Code中查找,它会在Bin文件夹中查找包含该类的DLL。你是如何将网站转移到服务器的?

答案 5 :(得分:0)

对于那些跟随...我有同样的问题,但它是因为我在App_Code中命名了一个类,'HTML'。花了很长时间才发现这只是一个名称冲突,因为编译器对于告诉我问题是什么并不是很有帮助。