2014-08-28 209 views
0

我有兩個班。 Test.cs,Entity.cs。如何通過命令提示符運行c#應用程序?

我已經把這兩個文件放在一個文件夾「CommandTest」中。

* test.cs中類

namespace Demo 
{ 
public class Test 
{ 
public static Entity entity= new Entity(); 
public static void Main(string[] args) 
{ 
Console.WriteLine("Demo"); 
} 

* Entity.cs類

namespace Demo 
{ 
public class Entity 
{ 
Console.WriteLine("entity"); 
} 
} 

當我試圖通過 「Visual Studio命令提示符」 來運行它。 它顯示錯誤,

test.cs中(10,28):錯誤CS0234:類型或命名空間名稱「實體」 命名空間中的「示範」不存在(是否缺少程序集 參考?)

我不明白它爲什麼顯示錯誤。因爲這兩個類具有相同的名稱空間。 如何通過命令提示符運行它。

謝謝。

+4

你在命令行上運行什麼命令?我假設你正在編譯它,而不是運行它?可能你只是沒有告訴編譯器關於'Entity.cs'。它需要明確告訴所有必要的文件,它不會只搜索一個目錄(據我所知)。 – Chris 2014-08-28 10:52:11

+6

** Console.WriteLine(「entity」); **需要在方法中。 – Margus 2014-08-28 10:52:15

+2

我可以問你爲什麼不寫一個單元測試班嗎? (根據你的文件名判斷,這就是你想要做的) – Sayse 2014-08-28 10:53:43

回答

2

您應該在致電csc時使用所有文件。它不會嘗試自己找到代碼文件。試試這個:

csc /out:Test.exe Test.cs Entity.cs 

或者,也許更容易:

csc /out:Test.exe *.cs 

而且,閱讀相關MSDN article

不要忘了在太方法添加以下代碼塊:

namespace Demo 
{ 
    public class Entity 
    { 
     public void SomeMethod() /* here */ 
     { 
      Console.WriteLine("entity"); 
     } 
    } 
} 
+0

感謝它的工作。它用於編譯。你能告訴我如何跑步嗎?我也想將字符串作爲Main方法的參數。 – user3582190 2014-08-28 11:03:52

+0

只需運行'Test.exe argument1 argument2'。 – 2014-08-28 11:04:34

+0

陳舊的權利 – user3582190 2014-08-28 11:24:46

1

你需要明確提供的所有類的名稱。所以在你的情況下,你會執行

csc.exe /out:ExecutableName.exe Entity.cs Test.cs 
相關問題