想在 C# 中编译一个引用 dll 的基本程序

Would like to compile a basic program with a reference to a dll in C#

我想编译一个简单的控制台应用程序,它使用来自 .dll 的引用来了解 csharp 中的基本动态 linking 是如何工作的。主文件是 test.cs:

using System;
using TestLibrary;

namespace Test
{
    class Test
    {
        static int Main()
        {
            Console.WriteLine(TestLibrary.AddThreeNumbers(1,2,3));
            return 0;
        }
  
    }

}

class 库是:

using System;

namespace TestLibrary
{
    class TestLibrary
    {
        int AddThreeNumbers(int a, int b, int c)
        {
            return a+b+c;
        }
  
    }

}

我在 powershell 开发人员命令提示符下使用以下命令将 library.cs 编译成一个 dll:

csc library.cs -target:library -out:library.dll

这很好用。但我随后尝试 link 制作一个可执行文件,如下所示:

csc test.cs -reference:TestLibrary=library.dll

但是这个returns一个错误:

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

这是我的代码有问题还是我编译它的方式有问题?任何帮助将不胜感激。

正如@Gusman 所说,要使用的命令是:

csc /r:library.dll /out:test.exe test.cs