2015-11-17 81 views
1

我已將二進制文件移動到bin文件夾下的項目中,以避免兩次發佈相同的二進制文件,因爲其中一個二進制文件很大;即15MB。如何避免在Web發佈中發佈庫文件夾?

這是最初在一個單獨的包括文件夾。所以文件被複制兩次到發佈文件夾。

bin文件夾是否爲這些文件的正確位置,還是我應該採取其他步驟?

編輯: 對不起,如果我給了一個不好的解釋(和原標題)。我改變了標題;這是「靜態庫(第三方DLL)應該保存在Visual Studio中嗎?」,現在是「我怎樣才能避免在Web發佈中發佈庫文件夾?」

如前所述,我原本有一個單獨的文件夾名爲包括。當我做Web發佈時,每個DLL都發布兩次;一進入bin文件夾,另一進入包括文件夾。在這種情況下,我至少會發布額外15MB的不必要的文件空間。通常情況下,這不是什麼大問題,但如果我的連接速度很慢,我需要等待更長的時間才能將項目部署到其環境中。

我將DLL移回到單獨的文件夾中,但該文件夾仍與bin輸出文件夾一起發佈。我這樣做是爲了看看這些文件的位置是否會以不同的方式設置它們的屬性。

我已經嘗試過爲這些庫的構建操作和其他屬性設置的各種設置而沒有成功。

有沒有辦法繞過發佈DLL兩次?

+0

在與發佈文件夾分開的文件夾中,除此之外,它是首選項。由於您的問題的偏好方面,您的問題可能會被視爲「基於意見」。 – cybermonkey

+0

請參閱編輯更新。對這個糟糕的解釋抱歉。 – Ruge

回答

2

如果這些文件系統(不一定是源代碼,但作爲源代碼控制跟蹤的文物仍然)的總源的一部分,那麼你可能希望保留他們在輸出文件夾爲建立。輸出文件夾應該是瞬態的,不應在源代碼控制中進行跟蹤。

將第三方庫保存在庫文件夾中。源代碼管理中的文件夾結構可能如下所示:

/ 
--/lib 
--/Project1 
----/SomeSubFolder 
--/Project2 
----/Images 
----/Styles 

等等。

每個Project在編譯時都會有自己的bin文件夾,它本身可能包含用於編譯類型(Release,Debug等)的其他文件夾。但是你不希望這些構建工件在源代碼控制中被跟蹤或者以任何方式干擾源代碼控制中的內容。

這些項目會引用它們的庫依賴關係,在構建時這些依賴關係會被複制到應用程序運行時使用的輸出文件夾中。

+0

請參閱編輯。我試圖避免兩次發佈庫文件。謝謝。 – Ruge

+0

@Ruge:文件沒有被「發佈」兩次。它們作爲代碼使用的工件存在於源代碼控件中,它們作爲正在運行的進程使用的構件存在於構建輸出中。這兩個服務單獨的目的,不應混合。 (試圖混合它們,或者基本上跨越源代碼和構建輸出之間的界限,只是在問問題。)如果磁盤空間受到15MB的限制,那麼你就會遇到比這個更大的問題。 – David

相關問題