2018/03/08

How to fix "Cannot find compilation library location for package 'Microsoft.Win32.Registry'"


ASP.NET Core アプリケーションを CentOS7 にデプロイして実行すると、以下のエラーが出ました。

fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0]
      An unhandled exception has occurred: Cannot find compilation library location for package 'Microsoft.Win32.Registry'

この問題を解決するには、

<MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>

を .csproj に追加します。

以下が、.csproj のサンプルになります。

<Project Sdk="Microsoft.NET.Sdk.Web">
  
  <PropertyGroup>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <MvcRazorExcludeRefAssembliesFromPublish>false</MvcRazorExcludeRefAssembliesFromPublish>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.5" />
  </ItemGroup>

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.2" />
  </ItemGroup>
</Project>

この設定をした上で、再度デプロイして実行したらエラーが発生しなくなりました。

.NET Coreはなかなかいいのですが、完成度がもう少しかもしれませんね。


スポンサーリンク


このエントリーをはてなブックマークに追加




Twitter ではブログにはない、いろんな情報を発信しています。


コメント

コメントを書く



プロフィール

  • 名前:fnya
    経歴:
    SE としての経験は15年以上。様々な言語と環境で業務系システム開発を行い、セキュリティ対策などもしていました。なんちゃってSE。

    フリーウェア、Webサービス開発のためにEntyで支援を受け付けています。ご支援のほどよろしくお願いいたします。

    Twitter では、ブログでは取り上げない情報も公開しています。


    ブログについて

    このブログは、IT、スマートフォン、タブレット、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。


    >>自作ツール
    >>運営サイト
    >>Windows 10 まとめ
    >>ブログ詳細

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから


最近の記事