2012-11-09 47 views
0

我需要知道如何使用命令行编译并从命令行运行C#,但我无法弄清楚如何正确使用我所做的DLL。该DLL是一个简单的数学文件里面的代码是:如何使用从命令行运行简单C#程序时创建的DLL?

using System; 

namespace SimpleMaths 
{ 
public class Operations 
{ 

    public static int add(int a, int b) 
    { 
     return a + b; 
    } 

    public static int substract(int a, int b) 
    { 
     return a - b; 
    } 

    public static int multiply(int a, int b) 
    { 
     return a * b; 
    } 
} 
} 

我成功地将它编译为DLL文件。现在我有一个名为sum.cs的类,并且在那里我想访问这个库的方法,我确实在那里有很多乱七八糟的代码,因此我删除了它,这里是我现在拥有的:

using System; 
public class sum 
{ 
public static void Main() 
{ 

//How can I access the methods in the SimpleMaths library??? 
} 
} 

通常在Visual Studio中我将添加DLL作为引用,然后创建对象,这将允许我访问方法。我已经在线搜索,我发现的例子让我感到困惑。我说对了,你不能使用命令行创建对象吗?

任何意见表示赞赏。

回答

1

您需要在命令行中使用/ reference。

csc /reference:library1.dll /reference:library2.dll csfile.cs 

此外请确保在您的.cs文件中包含名称空间。

+0

感谢您的帮助,我完全按照您的建议进行了尝试,但是当我将名称空间放入类文件并编译它时,出现无法找到名称空间的错误。该DLL被称为SimpleMaths.DLL,所以在我刚刚使用SimpleMaths的类中;这是正确的吗?谢谢! – deucalion0

1

您需要在VS中添加对DLL的引用,然后将其放在应用程序的顶部。

using LibraryNamespace 

然后你就可以使用

YourLibrary.LibraryClass.LibraryMethod 
0

您不能直接从命令行运行DLL从sum类调​​用DLL中的函数。您需要将其托管在某种可执行文件(.exe)中。

您需要添加另一个类型命令行应用程序的项目。这将包含你的主要方法。 Youi应该从那里引用你的DLL。

1

MS命令行工具是Powershell。
This是一个很好的例子,如何从PowerShell交互式地使用.NET DLL。