您可以在引用上將Copy Local屬性設置爲True。這應該將其添加到bin文件夾 - 在Web應用程序項目上。
但是,對於Web站點項目,添加引用時,所做的只是將一行添加到引用程序集的web.config。它將首先在bin文件夾中查找此文件,然後在GAC中找到它(如果未找到)。
有兩種選擇:要求將程序集安裝到目標機器上的GAC(在這種情況下,XCOPY部署是不可能的),或者將所有必需的程序集包含在bin文件夾中,方法是將其複製或寫入這是一個後期構建腳本。您可以使用命令提示符並轉到c:\ windows \ assembly \ GAC中找到.dll,找到您感興趣的程序集,cd進入該目錄,然後用您感興趣的版本cd進入目錄。將爲您提供在構建後腳本中使用的路徑。例如,對於GAC中的輔助功能部件,您最終將獲得以下路徑: c:\ Windows \ assembly \ GAC \ Accessibility \ 1.0.5000.0__b03f5f7f11d50a3a \ Accessibility.dll
您說包括bin文件夾源代碼管理中的內容不好。這通常被認爲是你構建的二進制文件的真實情況,但在你的情況下,你有沒有被編譯爲項目一部分的二進制資產。在哲學上,這些相當於圖像:二進制資產沒有被編譯爲項目的一部分。我認爲他們屬於源代碼管理,就像你的項目所依賴的任何其他二進制文件一樣。但這是個人選擇。
來源
2010-01-07 16:59:36
Don
如何設置此屬性?當我打開網站的「屬性頁面」時,會看到引用列表,但「複製本地」在此處不可用。請注意,這是網站(不是網絡應用程序) – Konstantin 2010-01-07 23:32:54
它是引用的屬性,而不是網站。但我現在看到爲什麼你指定它是一個網站而不是一個Web應用程序。我會編輯我的答案。 – Don 2010-01-08 18:00:18
我已將此答案標記爲已接受,謝謝。然而,我仍然不明白VS的邏輯 - 如果我添加本地程序集 - 爲什麼要在GAC中搜索它,然後從GAC中引用它? – Konstantin 2010-01-11 07:25:36