logo
株式会社エムケイシステム
TECH BLOG

nugetを用いてpkgのinstallに失敗する

nuget経由でpkgのinstallに失敗する

1. 背景

  • nuget pkgを管理するサーバにアクセスできないためエラーとなる

    PM> Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -Version 3.6.0
    
    
    '.NETFramework,Version=v4.7.2' を対象とするプロジェクト 'MyApp' に関して、パッケージ 'Microsoft.CodeDom.Providers.DotNetCompilerPlatform.3.6.0' の依存関係情報の収集を試行しています
    Install-Package : ソース https://nuget.com のサービス インデックスを読み込めません。
    この要求の送信中にエラーが発生しました。
    接続が切断されました: SSL/TLS のセキュリティで保護されているチャネルに対する信頼関係を確立できませんでした。
    検証プロシージャによると、リモート証明書は無効です。
    発生場所 行:1 文字:1
    + Install-Package Microsoft.CodeDom.Providers.DotNetCompilerPlatform -V ...
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
      + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand
    
    経過した時間: 00:00:07.5981154
    PM> 
  • 下記のような設定だとアクセスできない

    • 1https://nuget.comはMSが管理していないURL

      my-pc-asus-1@LAPTOP-IJIHQME2 MINGW64 ~/Desktop/git/MyApp (master)
      $ dotnet nuget list source
      登録されているソース:
    • Package source [無効] https://nuget.com
    • Microsoft Visual Studio Offline Packages [無効] C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
    • nuget [有効] https://api.nuget.org/v3/index.json

2. 解決手法

  • dotnet nuget disable source を用いて3. nuget [有効]以外の設定を無効にする
  • dotnet nuget remove source を用いて3. nuget [有効]以外の設定を削除する

有効/無効の切り替え

my-pc-asus-1@LAPTOP-IJIHQME2 MINGW64 ~/Desktop/git/MyApp (master)
$ dotnet nuget enable source "Package source"
名前 Package source のパッケージ ソースが正常に有効にされました。

my-pc-asus-1@LAPTOP-IJIHQME2 MINGW64 ~/Desktop/git/MyApp (master)
$ dotnet nuget list source
登録されているソース:
  1.  Package source [有効]
      https://nuget.com
  2.  Microsoft Visual Studio Offline Packages [無効]
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
  3.  nuget [有効]
      https://api.nuget.org/v3/index.json

my-pc-asus-1@LAPTOP-IJIHQME2 MINGW64 ~/Desktop/git/MyApp (master)
$ dotnet nuget disable source "Package source"
名前 Package source のパッケージ ソースが正常に無効にされました。

my-pc-asus-1@LAPTOP-IJIHQME2 MINGW64 ~/Desktop/git/MyApp (master)
$ dotnet nuget list source
登録されているソース:
  1.  Package source [無効]
      https://nuget.com
  2.  Microsoft Visual Studio Offline Packages [無効]
      C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
  3.  nuget [有効]
      https://api.nuget.org/v3/index.json

弊社では、一緒に会社を面白くしてくれる仲間を募集しています。
お気軽にお問い合わせください!
採用ページへ >