1. ホーム
  2. asp.net-core

[解決済み] アプリケーション依存関係マニフェスト(...)で指定されたアセンブリが見つかりませんでした。

2022-02-11 19:29:33

質問

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>