我發現了一些關於如何將程序集嵌入到一個主DLL中的非常酷的文章。如果要將DLL存儲在CRM數據庫中,這是必需的。 AppDomain.CurrentDomain.AssemblyResolve in dynamics crm自動嵌入引用程序集
另一種方法是使用ILMerge,我沒興趣。
在我的情況,我要嵌入的DLL是從相同的解決方案。嵌入程序集的技巧是創建一個文件夾,添加現有項目並選擇你想要使用的DLL。然後,您轉到DLL的屬性並將它們標記爲嵌入式資源。
問題是,引用的DLL將不會更新,直到我構建解決方案之後。所以,目前,我在構建項目,將/ bin DLL複製到項目組件文件夾,然後再次重建項目。更糟的是,我有不同的解決方案配置:調試,開發,QC,UAT和生產。其中更改/ bin目錄我從中獲取DLL。
那麼,是否有辦法在項目建成時自動刷新項目文件夾 - 我可以根據當前的解決方案配置更改DLL的來源?
如果右鍵單擊任何項目並轉至屬性,則可以爲任何生成配置創建自定義生成步驟(如複製文件)或更改輸出目錄。您也可以指定額外的文件夾來查找依賴庫。 – Egor
@Egor - 我能夠使用預構建步驟將'xcopy'特定項目'$(OutDir)'的DLL拷貝到我的嵌入式組件文件夾中。有權訪問'$(OutDir)'文件夾使我無法創建單獨的部署腳本。謝謝! –