Asp.net
在發佈時強制將外部文件複製到 bin 文件夾
我有一個引用第三方程序集的 Web 應用程序項目,該程序集又使用一些它需要在執行時找到的本機 dll。正因為如此,我想將這些dll添加到項目的bin文件夾中,這樣就可以肯定地找到它們。
但是,如果我將文件添加到 /bin/ 中的項目中,選擇“複製到輸出”,文件將被編譯並發佈到 /bin/bin。將它們添加到根文件夾是可行的,但很難成為正確的解決方案。
發佈時將它們添加到建構目標“AfterBuild”沒有效果(例如“建構部署包”)
通過 TFS 建構解決方案時,它也必須工作,其中呼叫了 MSBuild 目標 _CopyWebApplicationLegacy。
解決方案是我已經嘗試過的東西的組合:
- 在項目中包含“Bin”文件夾
- 添加所需文件(由於我們的開發結構,我將它們添加為連結)
- 設置以下屬性:“建構操作 = 內容”和“複製到輸出 = 不複製”
現在,即使在 TFS 上自動建構時,文件也會在發佈時複製到 bin 文件夾中。
需要這個的組件是 GdPicture,它在執行時使用了幾個本地 DLL。
在您的解決方案或工作區中通常有一個lib文件夾來放置您的第三方 dll。然後,您將從您的項目中添加對該位置的引用,並確保該位置處於原始碼控制之下。
您還可以查看使用NuGet為您打包它,它會自動使用解決方案級別的封包件夾。