尝试编译时找不到命名空间错误

Namespace not found error when trying to compile

编辑:更改 class 名称或命名空间名称以使命名空间和 class 不具有相同的名称并不能解决此问题问题。

我有这个超级简单的代码:

Program.cs:

using System;
using CodeCleaner;

class Program
{

    private static void Main(string[] args)
    {
        Console.WriteLine("DocTypeChecker instantiated");

        var codeCleaner = new CodeCleaner.CodeCleaner();
    }
}

CodeCleaner.cs:

using System;

namespace CodeCleaner
{
    public class CodeCleaner
    {

        public CodeCleaner()
        {
            Console.WriteLine("CodeCleaner instantiated");
        }

    }
}

当我在 运行 $ csc Program.cs:

时尝试编译时,这会产生以下错误

Program.cs(4,7): error CS0246: The type or namespace name 'CodeCleaner' could not be found (are you missing a using directive or an assembly reference?).

我绝对没有错过 CodeCleaner 的 using 指令,但我不知道它对 assembly reference 意味着什么。在这种情况下,网络上的其他解决方案对我没有帮助。有人知道这里的问题吗?

运行 csc Program.cs 不会编译 CodeCleaner.cs,因此您的程序集将缺少 CodeCleaner class 和命名空间。使用 csc Program.cs CodeCleaner.cs 应该可以解决问题。