而且它在本地环境也很好。但"/>

关于c#:App_Code文件夹问题

关于c#:App_Code文件夹问题

App_Code folder issues

因此,我正在设计的新网站上的App_Code文件夹存在一个非常奇怪的问题。

我在App_Code文件夹的名称空间中有一个基本类。 当我设置名称空间并从类中创建一个对象时,IDE中的所有功能都可以正常工作。 它会在悬停时弹出类摘要,当您单击"转到定义"时,它将转到类文件。
而且它在本地环境也很好。

但是,当我将站点加载到服务器上时,访问该页面时会收到以下错误消息:

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

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

我知道有一个类文件。 任何人都知道发生了什么事吗?

编辑:

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


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


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

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


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


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


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

现在,我不想指责任何人,这只是一个猜测,但是您可能应该确保所引用的代码文件中没有任何错误。


对于随后的问题...我也遇到了同样的问题,但是这是由于我在App_Code中将一个类命名为" HTML"引起的。花了很长时间才弄清楚这只是一个名称冲突,因为编译器在告诉我问题出在什么方面不是很有帮助。


推荐阅读