为什么我的App_Code文件夹中的子文件夹中的类没有被正确找到?

时间:2008-09-30 21:09:11

标签: c# asp.net namespaces app-code

当我将类文件放在App_Code文件夹的子文件夹中时出现以下错误:

errorCS0246:找不到类型或命名空间名称“MyClassName”(您是否缺少using指令或程序集引用?)

此类根本不在命名空间中。有什么想法吗?

6 个答案:

答案 0 :(得分:19)

您需要将codeSubDirectories添加到web.config中的编译元素

<configuration>
    <system.web>
      <compilation>
         <codeSubDirectories>
           <add directoryName="View"/>
         </codeSubDirectories>
      </compilation>
   </system.web>
</configuration>

答案 1 :(得分:16)

检查文件的BuildAction属性。这应该设置为“编译”

答案 2 :(得分:1)

您是否有可能未将该文件夹设置为IIS(或您的Web服务器)中的应用程序?如果没有,则使用的App_Code是来自文件夹(或下一个应用程序)的文件。

确保将文件夹标记为应用程序,并使用正确版本的ASP.NET。

答案 3 :(得分:1)

这可能不是正确的方法,但我发现它最简单。

像往常一样在主文件夹中创建类,然后用鼠标将其移动到子文件夹。重新编译,一切都应该没问题。

答案 4 :(得分:0)

当您向app_code添加文件夹时,如果我没记错,它们会被不同的名称空间分隔开,使用默认名称空间作为根,然后为每个文件夹添加。

答案 5 :(得分:0)

在Visual Studio中(至少2010年,但我也记得过去的版本),您可以在解决方案资源管理器中右键单击该文件夹,然后选择“包含在项目中”。

然后在每个文件的属性选项卡上(或一次选择所有文件),为“Build Action”属性选择“Compile”。

这对我有用。