想在 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
我想编译一个简单的控制台应用程序,它使用来自 .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