2012-11-09 84 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。