0
我有兩個項目的解決方案。一個用於生產代碼的項目,另一個用於單元測試。根據我從SO那裏得到的建議,我做到了這一點。應該將測試的代碼編譯爲DLL或可執行文件嗎?
我注意到,在Debug文件夾,它包含在可執行的形式生產的代碼。我使用NUnit在刪除可執行文件後運行測試,並且都嘗試查找可執行文件失敗。所以它絕對是試圖找到它。然後我做了一個快速閱讀,找出哪個更好,一個DLL或一個可執行文件。看起來,DLL在共享可執行文件之間的通信較慢的內存空間時速度更快。
Unforunately我們的生產代碼需要一個exectuable。所以單元測試會稍微慢一些。我並不擔心這一點。但是該項目確實依賴於另一個庫中編寫的代碼,該庫目前也處於可執行格式。
應該是暴露某種SDK的項目,而被編譯爲一個DLL,然後使用SDK的項目被編譯爲可執行?
謝謝。我在想,也許我應該先問這個問題。 .Net如何處理兩個可執行文件之間的通信。 – uriDium 2010-04-14 15:14:44
@uriDium:你的意思是「碰巧是EXE文件的兩個程序集」還是「兩個進程」?他們是完全不同的東西。一旦運行了一些代碼,.NET並不關心程序集是在EXE文件還是在DLL中。 – 2010-04-14 15:23:28
碰巧是EXE文件的兩個程序集。不是兩個單獨的過程。爲此,他們需要使用我想象的遠程處理技術。除非它們被寫入共享內存空間。 – uriDium 2010-04-14 15:31:00