7

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

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

这个类根本不在命名空间中。有任何想法吗?

4

6 回答 6

20

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

<configuration>
    <system.web>
      <compilation>
         <codeSubDirectories>
           <add directoryName="View"/>
         </codeSubDirectories>
      </compilation>
   </system.web>
</configuration>
于 2008-09-30T21:22:47.773 回答
16

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

于 2011-08-16T18:11:12.350 回答
1

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

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

于 2008-09-30T21:11:28.237 回答
1

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

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

于 2011-11-08T07:57:39.217 回答
0

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

于 2008-09-30T21:21:41.863 回答
0

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

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

这对我有用。

于 2012-07-13T22:57:25.937 回答