Ignite UI for Blazor などのインフラジスティックス製品の NuGet パッケージをプロジェクトにインストール可能にするには、事前に、インフラジスティックスのライセンス付き NuGet フィードを、開発環境のパッケージソースとして追加登録しておく必要があります。
インフラジスティックスのライセンス付き NuGet フィードから NuGet パッケージを取得するには、有効な製品ライセンス情報に基づいて、その利用者の認証情報と併せてパッケージソースに登録する必要があります。
通常はその利用者のインフラジスティックスアカウントのユーザー名とパスワードを指定して登録できますが、その他にも、その利用者に紐付く「アクセストークン」を生成して使用することが可能です。
以下ではアクセストークンを使ってインフラジスティックスのライセンス付き NuGet フィードをパッケージソースに登録する手順を説明します。
アクセストークンの生成
まずはアクセストークンを生成・入手する必要があります。
(1) インフラジスティックスのカスタマーポータル ( https://account.infragistics.com/ ) にサインインし、ページ右上のアカウントのアイコンをクリック、開いたドロップダウンメニューから [アクセストークン] の項目をクリックします。
(2) [アクセストークン] のページが開きますので、[トークンを生成する] をクリックします。
(3) [新規トークンを生成] のフォームが開きますので、英数字でトークンを説明する任意の名前を入力し、[トークンを生成する] をクリックします。
(4) すると、新しいアクセストークンが生成され、結果が表示されます。[このトークンはNuGetフィードで有効です] の項目に表示されたトークンを控えておきます。なお、この画面で表示されているアクセストークンは、この画面を閉じると二度と再表示できません。アクセストークンは確実にお手元に控えておいてください。
なお、不要になった・あるいは外部に漏洩等の理由で無効化したいアクセストークンは、この [アクセストークン] ページから、対象のアクセストークンの横に表示されているゴミ箱アイコンをクリックすることで削除・無効化することが可能です。
アクセストークンを使った、ライセンス付き NuGet フィードの追加
引き続き、先の手順で生成・入手したアクセストークンを認証情報として指定して、インフラジスティックスのライセンス付き NuGet フィードを、パッケージソースとして登録します。
Visual Studio や .NET SDK 等がインストール済みの環境にて、以下のコマンドをターミナル (コマンドプロンプト) で実行し、インフラジスティックスのライセンス付き NuGet フィードをパッケージソースとして登録します。
dotnet nuget add source "https://packages.infragistics.com/nuget/licensed" -n Infragistics -u api -p "8ec7g(途中省略)2256"
コマンドライン引数の指定内容は以下のとおりです。
- -n {パッケージソース名}
パッケージソースの名前を指定します。任意の名前を指定できますが、インフラジスティックスのライセンス付き NuGet フィードについては、慣例的に “Infragistics” を指定します。 - -u {ユーザー名}
パッケージソースにアクセスするための認証情報のうち、ユーザー名を指定します。アクセストークンを用いる場合は、先の手順で控えたトークンのうち、コロンより前の部分を指定します。 - -p {パスワード}
パッケージソースにアクセスするための認証情報のうち、パスワードを指定します。アクセストークンを用いる場合は、先の手順で控えたトークンのうち、コロンより後の部分を指定します。
以上で、”Infragistics” のパッケージソース名で、インフラジスティックスのライセンス付き NuGet フィードが追加され、このフィードから Ignite UI for Blazor などの製品版 NuGet パッケージをプロジェクトに追加可能になります。
エラー「error: The name specified has already been added…」が発生したら
もしも既に “Infragistics” のパッケージソース名で既に登録済みの場合は、「error: The name specified has already been added to the list of available package sources. Provide a unique name.」というエラーになります。その場合は、いちど下記コマンドを実行して、”Infragistics” のパッケージソースを削除してから、もう一度試行してみてください。
dotnet nuget remove source Infragistics
エラー「error: Password encryption is not supported…」が発生したら
Linux 環境など一部のプラットフォームでは「error: Password encryption is not supported on .NET Core for this platform. The following feed try to use an encrypted password: ‘Infragistics’. You can use a clear text password as a workaround. error: Encryption is not supported on non-Windows platforms.」といったエラーが発生する場合があります。これは、このプラットフォームでは NuGet の構成ファイルに記載されるパスワード (今回はアクセストークン) が暗号化できないことを知らせています。
この場合はやむを得ませんので、暗号化せずに平文のままパッケージソース情報を保存する、「–store-password-in-clear-text」スイッチを付加して「dotnet nuget add … 」コマンドを実行してください (下記例)。
dotnet nuget add source "https://packages.infragistics.com/nuget/licensed" -n Infragistics -u api -p "8ec7g(途中省略)2256" --store-password-in-clear-text
Pingback: NuGet CLI ではなく、dotnet CLI でライセンス付き NuGet フィードを追加する方法 – INFRAGISTICS ナレッジベース