2011-08-24 80 views
0

我在我的應用程序中使用依賴注入,並且通過實現我的合同的項目上的後期構建事件將用於契約實現的dll複製到我的應用程序bin文件夾中。我已經這樣做了,所以我不必引用這些項目,並且我正在使用約定配置類名等。在發佈期間從bin文件夾複製動態複製的DLL

但是,當我發佈應用程序時,dll不會作爲發佈的一部分進行復制。任何人都知道解決這個問題?

回答

0

不使用Post Build事件,而是將dll作爲項目的一部分。在您的解決方案資源管理器中,右鍵單擊該dll,選擇屬性並將「構建操作」設置爲「複製如果較新」。發佈時,dll將始終包含在內。

+0

我知道如何添加引用 - 使用依賴注入時的問題與IOC是我不希望我的主應用程序項目知道什麼是誰或什麼是實施它依賴的合同,使用後構建事件意味着在運行時,我使用的DI lib可以掃描應用程序bin文件夾並找到所需合同的匹配類 – jcvandan

+0

Build Events不適合MSBuild,它們由Visual Studio IDE處理。如果你打算自動化你的構建,Build Events不會自動啓動。處理您的情況最好的辦法是在文本模式下打開您的項目文件,並添加 <目標名稱=「BeforePublish」> <複製SourceFiles =「yourSourcePath \ yourfile」 DestinationFiles =「publishPath \ yourfile」> – Arun

+0

即使這並不完全解決我的問題,這是我最終做了如此標記的答案 – jcvandan

相關問題