2017-03-02 38 views
2

我有一個API項目使用.net核心項目使用完整.net 4.6.1我正在更新我的一個使用Identity Server的nuget包4,並確保它與我的一些舊代碼沒有衝突,因此我刪除了bin文件夾內容。已更新 - System.Net.Http DLL未複製到bin文件夾 - IdentityServer4.AccessTokenValidation

我重建項目,現在無法注入我的nuget包,說它無法找到system.net.http 4.1.1.0。經過許多小時的慢慢排除後,事實證明,當項目重建並將其所有DLL放入bin文件夾時,它並不複製system.net.http DLL。

奇怪的是,當我使用.net 4.6.1創建一個新的.net核心API項目並刪除bin文件夾並重建它時,會複製system.net.http dll。

所以我的問題是 - 我如何確保DLL被複制到bin文件夾,所以這不會發生在其他人在項目上工作?


更新2017年3月3日11:00

所以,我發現了什麼是打破我的項目,但我不明白爲什麼/如何解決它。 1)如果你創建一個空白的.net核心API項目,改變它使用.net461清理你的bin文件夾並構建它,你會在文件夾「bin \ Debug \ net461 \ win7」中看到System.Net.Http DLL -x64" 。

2)現在增加IdentityServer4 AccessTokenValidation到依賴

"IdentityServer4.AccessTokenValidation": "1.0.5" 

3)清除您的bin文件夾再次

4)建設項目,你會看到System.Net.Http DLL文件丟失。

當你運行該項目應該仍然工作,但我使用的是需要一個缺少DLL一個NuGet包...

+0

你使用什麼版本的VS?我發現VS 2017 RC是bug,並且遇到了一些相同類型的問題,其中涉及nuget的事情確實爲一些項目工作,並沒有爲其他項目 – ArgusMagnus

回答

1

System.Net.Http應在使用它的項目的引用。獲取引用的屬性並將屬性「Copy Local」設置爲true。

相關問題