2011-08-02 35 views
2

通常它沒有意義去做這種方式。一個c#控制檯應用程序也可以作爲一個類庫嗎?

這就是說,一個C#控制檯應用程序也可以充當類庫嗎?

+0

那你試試這麼遠嗎?創建另一個項目作爲Windows應用程序或Web應用程序,引用您的控制檯應用程序,並使用它的一些公共類,並檢查它是否按預期工作;-) –

+0

@Davide Piras:我試着在舊版本的VS.我*仍然*習慣於MS工具的能力,因爲他們現在。我以爲我會先問。 – sgtz

回答

6

是的,可以。只要它有公共類型或[assembly:InternalsVisibleTo(...)]

在VS2005中,IDE不願意讓你引用一個exe文件,但這不再是這種情況。只需添加一個引用並指定exe(或項目)。

最終,它只是一個組件; PE頭/裝載機是最小的,不是顯著照會文件,它是一個exe的,因此事實上幾乎是無關緊要的。

請注意,使用exe作爲庫時,不會調用Main()(入口點)。

+0

我認爲這應該是這種情況。一旦被咬傷了。 TY。 + 1,所有()。 – sgtz

3

它,只是引用它的另一個項目。

2

是的,可以引用控制檯應用程序並使用其中的公共類。然而,儘管在技術上功能性,它不會被認爲是最佳實踐。

一個更好的解決辦法是有以下幾點:

  • MyClassLibrary.dll

由引用:

  • MyConsoleApp.exe
  • MyOtherConsoleApp.exe
  • MyOtherClassLibrary.exe
2

簡答:是的。唯一的區別是控制檯應用程序有一個入口點(Main方法),並可能單獨執行。

相關問題