我已經搜索並找到類似的問題,但給出的答案不適用於我。單元測試失敗,'無法加載文件或程序集'System.Net.Http,版本= 4.1.1.0'
這是特定於.NET Core的。我在寫單元測試的xUnit和起訂量和我越來越
拋出的異常的錯誤:「System.IO.FileNotFoundException」
其他信息:無法加載文件或程序 「系統.Net.Http,Version = 4.1.1.0,Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a'或其依賴項之一。 系統找不到指定的文件。
我的測試項目的project.json文件如下所示:
{
"version": "1.0.0",
"buildOptions": {
"debugType": "portable"
},
"dependencies": {
"xunit": "2.2.0-beta2-build3300",
"dotnet-test-xunit": "2.2.0-preview2-build1029",
"My.App.DataAccess": "1.0.0",
"My.App.Domain": "1.0.0",
"My.App.Services": "1.0.0",
"My.App.WebApi": "1.0.0",
"Microsoft.AspNetCore.TestHost": "1.1.0",
"Moq": "4.5.30"
},
"testRunner": "xunit",
"frameworks": {
"net462": {}
}
}
只有單元測試失敗。主應用程序工作得很好。我試過手動強制System.Net進入project.json,但它堅持要安裝4.3.0。我不確定它在哪裏認爲它需要4.1.1.0。
編輯:我注意到,如果我從WebApi項目斌複製System.Net.Http.dll到測試項目斌一切工作正常。現在,測試項目本身不使用System.Net.Http命名空間中的任何內容 - 只有在WebApi項目中測試的方法才引用它。
測試項目是否應該將System.Net.Http.dll複製到它的bin文件夾中?如果是這樣,爲什麼在構建過程中不會發生這種情況?
包恢復過程中是否收到任何警告? – Tseng
沒有。一切看起來都很古怪。 –
您可以按照本[問題](http://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net)中所述檢查程序集綁定日誌,以弄清楚爲什麼你的應用需要這個特定版本 –