作成日: 2022/11/17 最終更新日: 2023/08/03
文書種別
技術情報
詳細
ライセンス ファイルをバイナリ リソースに変換できませんでした。オブジェクト参照がオブジェクト インスタンスに設定されていません。 |
ライセンス ファイルをバイナリ リソースに変換できませんでした。インデックス (0 ベース) は 0 以上で、引数リストのサイズよりも小さくなければなりません。 |
本事象の回避方法としては、Visual Studio 2022上からではなく、コマンドラインからApp_Licenses.dllを生成する方法が考えられます。以下の手順をお試しください。
1. コマンドプロンプトの起動
スタートメニューから「Visual Studio 2022」-「Developer Command Prompt for VS 2022」を右クリックし、「その他」-「管理者として実行」をクリックして、コマンドプロンプトを管理者として起動します。
2. カレントディレクトリの移動
cdコマンドを実行して、カレントディレクトリを、対象プロジェクトのルートフォルダへ移動します。
以下では、「C:\temp\WebSite1」フォルダにプロジェクトが存在し、同フォルダにlicenses.licxファイルやbinフォルダが配置されている場合の例を説明します。
cd C:\temp\WebSite1
3. 「app_licenses.dll.licenses」の生成
以下のコマンドを実行します。
「/i:」オプションには、licenses.licxファイルに記述されている、ライセンス組み込みの対象となるアセンブリDLLのパスを記載します。複数のアセンブリが記述されている場合は、それらをすべて「/i:」オプションでコマンドに追加してください。
lc.exe /target:App_licenses.dll /complist:.\licenses.licx /i:.\bin\GrapeCity.ActiveReports.dll /i:.\bin\GrapeCity.ActiveReports.Export.Pdf.dll /outdir:.\bin
上記のコマンドは、licenses.licxファイルに、以下の2つのアセンブリが記述されている場合の例です。
GrapeCity.ActiveReports.SectionReport, GrapeCity.ActiveReports GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport, GrapeCity.ActiveReports.Export.Pdf
4. 「App_Licenses.dll」の生成
以下のコマンドを実行すると、「app_licenses.dll.licenses」ファイルから「App_Licenses.dll」(ランタイムライセンス)が生成されます。
csc.exe /t:library /res:.\bin\app_licenses.dll.licenses /out:.\bin\App_Licenses.dll
「lc.exe」や「csc.exe」のオプションについては、マイクロソフト社のドキュメントをご参照ください。
Lc.exe (ライセンス コンパイラ)
https://learn.microsoft.com/ja-jp/dotnet/framework/tools/lc-exe-license-compiler
コンパイラ出力を制御する C# コンパイラ オプション
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/compiler-options/output