Asp.net

在發佈時強制將外部文件複製到 bin 文件夾

  • August 3, 2017

我有一個引用第三方程序集的 Web 應用程序項目,該程序集又使用一些它需要在執行時找到的本機 dll。正因為如此,我想將這些dll添加到項目的bin文件夾中,這樣就可以肯定地找到它們。

但是,如果我將文件添加到 /bin/ 中的項目中,選擇“複製到輸出”,文件將被編譯並發佈到 /bin/bin。將它們添加到根文件夾是可行的,但很難成為正確的解決方案。

發佈時將它們添加到建構目標“AfterBuild”沒有效果(例如“建構部署包”)

通過 TFS 建構解決方案時,它也必須工作,其中呼叫了 MSBuild 目標 _CopyWebApplicationLegacy。

解決方案是我已經嘗試過的東西的組合:

  • 在項目中包含“Bin”文件夾
  • 添加所需文件(由於我們的開發結構,我將它們添加為連結)
  • 設置以下屬性:“建構操作 = 內容”和“複製到輸出 = 不複製”

現在,即使在 TFS 上自動建構時,文件也會在發佈時複製到 bin 文件夾中。

需要這個的組件是 GdPicture,它在執行時使用了幾個本地 DLL。

在您的解決方案或工作區中通常有一個lib文件夾來放置您的第三方 dll。然後,您將從您的項目中添加對該位置的引用,並確保該位置處於原始碼控制之下。

您還可以查看使用NuGet為您打包它,它會自動使用解決方案級別的封包件夾。

引用自:https://stackoverflow.com/questions/12562731