我有一個GUI和一個Windows服務需要共享model
(POCO類)。 我該怎麼做?兩個C#項目共享代碼
我真的看到了將一個項目添加到另一個項目作爲參考的選項,因此所有public
類都可以共享。
- 這是一個不錯的選擇嗎?
- 哪個項目應該包含這些類?
- 製作可執行文件時幕後會發生什麼?
我有一個GUI和一個Windows服務需要共享model
(POCO類)。 我該怎麼做?兩個C#項目共享代碼
我真的看到了將一個項目添加到另一個項目作爲參考的選項,因此所有public
類都可以共享。
一般如下您將創建一個項目結構:
GUI和WindowsService既可有對DataModel項目的引用,在這種情況下,在編譯時立即會對DataModel進行更改。
當您編譯爲EXE時,您將在同一目錄中有DLL,其中一個將是MyProject.DataModel.dll。 EXE將在運行時加載該DLL,以便提供對這些類的訪問。
謝謝Martin – Elimination
非常歡迎您! :) –
如果兩個項目共享相同的代碼,那麼做一件好事就是使用共享代碼來引用第三個項目。所以基本上用你的poco創建一個新的「模型」項目。
爲什麼將一個項目添加到另一個作爲參考不好? GUI可能不需要整個項目Windows服務來操作。反過來也是如此。 Windows服務不需要GUI。
您已經完成了一半:只需創建第三個「類庫」類型的項目,移動您想要共享的所有常見POCO類,並讓您的GUI和服務項目引用此類庫項目。 – Filburt
謝謝@Filburt! – Elimination