Asp.net-Core

未找到應用程序依賴項清單 (…) 中指定的程序集

  • February 21, 2018

我將 Microsoft.AspNetCore 從 2.0.3 升級到 2.0.5,我的 WebAPI 項目雖然在本地成功執行,但無法在生產環境 (IIS) 中啟動。在此次升級之前,生產中的一切都很好。日誌目錄產生的錯誤資訊如下:

Error:
 An assembly specified in the application dependencies manifest (MyProject.WebAPI.deps.json) was not found:
   package: 'Microsoft.AspNetCore.Mvc.Abstractions', version: '2.0.2'
   path: 'lib/netstandard2.0/Microsoft.AspNetCore.Mvc.Abstractions.dll'

 This assembly was expected to be in the local runtime store as the application was published using the following target manifest files:
   aspnetcore-store-2.0.5.xml

有人可以向我解釋這到底是什麼意思嗎?我認為這是某種版本不匹配,但為什麼會發生這種情況?我認為 NuGet 包的最新穩定版本不應該有這樣的問題。

我能夠通過將 Microsoft.AspNetCore.All 從 2.0.5 降級到 2.0.3 來解決這個問題,但我想找到一個更好的解決方案,以便我可以使用這個包的最新版本。

開發機器通常安裝了 SDK,但在生產環境中只安裝了執行時。

將以下內容添加到您的 .csproj 文件並再次發布。

<PropertyGroup>               
   <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>

引用自:https://stackoverflow.com/questions/48896443