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