Dot-Net
找不到引用的組件“System.Net.Http”
我在 VS2017 中創建了一個針對 .NET Framework 4.6.1 的新項目,當我向 System.Net.Http 添加 NuGet 包引用時,我收到以下警告及其所有依賴項:
The referenced component 'System.Net.Http' could not be found.該項目(及其解決方案)編譯,但是當我執行時,我得到一個異常,因為在嘗試實例化
HttpClient.我已經確認它
HintPath指向封包件夾中的正確位置,並且 DLL 在那裡,大小為 193 KB。我已經刪除了引用,並嘗試直接添加對 DLL 的引用,但沒有成功。我還嘗試通過 Framework > Assemblies 添加對的引用,但無論我做什麼,該引用都有一個警告圖示,並且該引用的屬性如下所示:
我嘗試了以下方法:
- 刪除並添加 NuGet 引用
- 刪除引用,清除 NuGet 記憶體,然後添加回 NuGet 引用
Update-Package -reinstall與適當的參數一起使用- 將解決方案複製到另一台電腦並在那裡嘗試(結果相同)
似乎無論我嘗試什麼,我都無法獲得工作的參考。我還應該嘗試哪些其他事情?
TLDR - Service Fabric 服務不適用於對 .NET Standard 包的項目引用;相反,請為類庫使用完整的 .NET Framework。
經過幾個小時的反複試驗,我能夠確定問題不在於
System.Net.Http包本身,而在於解決方案中引用了另一個項目。如果我引用了針對 netstandard1_6 的項目,則
System.Net.Http引用(包括依賴包)將不會載入或解析。一旦我刪除了項目引用,它們就可以正常載入了!最終,我將引用的項目更改為“正常”.NET Framework 項目,添加了對該版本的引用,我的所有引用都很好。我們懷疑有幾件事,但不確定最終原因是什麼:
- .NET Standard 的項目文件格式不同於 .NET Framework
- Service Fabric 項目需要 x64,而 .NET Standard 項目面向任何 CPU
任何額外的解釋將不勝感激!
