C# 为什么在“我的应用程序代码”文件夹的子文件夹中找不到正确的类?

C# 为什么在“我的应用程序代码”文件夹的子文件夹中找不到正确的类?,c#,asp.net,namespaces,app-code,C#,Asp.net,Namespaces,App Code,当我将类文件放入我的App_Code文件夹的子文件夹时,出现以下错误: errorCS0246:找不到类型或命名空间名称“MyClassName”(是否缺少using指令或程序集引用?) 此类根本不在命名空间中。有什么想法吗?您可能没有在IIS(或您的web服务器)中将文件夹设置为应用程序吗?如果不是,则使用的应用程序代码是来自父文件夹(或向上的下一个应用程序)的代码 确保文件夹被标记为应用程序,并使用正确版本的ASP.NET。当您将文件夹添加到应用程序代码时,它们将被不同的命名空间分隔,如果我

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

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


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

您可能没有在IIS(或您的web服务器)中将文件夹设置为应用程序吗?如果不是,则使用的应用程序代码是来自父文件夹(或向上的下一个应用程序)的代码


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

当您将文件夹添加到应用程序代码时,它们将被不同的命名空间分隔,如果我没有记错的话,使用默认命名空间作为根,然后为每个文件夹添加。您需要将CodeSubdirectory添加到web.config中的编译元素中

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


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

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

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

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

然后在每个文件的“属性”选项卡上(或一次选择所有文件),为“构建操作”属性选择“编译”


这对我来说很有效。

如果我将App\u Code/View或其他内容放入View子目录中,则我的App\u Code文件夹中的类会直接起作用