2015-08-28 97 views
0

我使用視覺工作室目前正在開發.NET中的winform應用2013年WindowsForm應用程序生成在Visual Studio控制檯應用程序

我的問題是,當我編譯我的應用程序,我得到兩個控制檯應用程序和winform應用程序我bin目錄,除非console.exe存在,否則winform.exe不會啓動。

console.exe是一個來自單獨項目的應用程序,它使用與Winform應用程序相同的類。

我該如何擺脫這種依賴性?

+3

如果你想在應用程序之間有共同的代碼,你需要3個項目。一個winforms,一個控制檯和一個類庫類型的項目,它將生成一個包含公共代碼的.dll文件。 – Jeremy

+0

就是這樣,你能發表一個答案嗎? – maazza

回答

1

它使用相同的類的winfrom應用

嗯,這是一個有點當然是一塌糊塗的。而且這並不準確,您的winforms應用程序實際上至少在您的控制檯應用程序項目中使用了至少一個類。

您需要做的第一件事就是刪除您的winforms應用程序項目的項目引用。打開它的引用節點,找到控制檯項目,右鍵單擊並選擇刪除。你現在已經打破了依賴關係。但它不再編譯,錯誤信息告訴你未來會有多少麻煩。

接下來你需要做的是添加一個新的類庫項目。它應該包含控制檯項目和winforms項目都需要的所有類型。將項目引用添加到此新項目。並移動代碼。

如果這一切都完全太多的工作,或者你不能再解開依賴關係,那麼不改變任何東西是一個完全可以接受的捷徑。控制檯應用程序也可以充當類庫,CLR沒有問題。一般來說,您不要盲目地將類聲明爲public類型,從而避免陷入混亂中。如果您認爲需要爲公開,那麼它通常屬於類庫項目。

相關問題