なぜ NUPKG を EXE に変換するのですか?
.nupkg は、コンパイルされた DLL と .nuspec マニフェストを含む .NET ライブラリの配布形式です。Windows の .exe は、アプリケーションのエントリポイントを持つ PE バイナリです。dotnet tool パッケージであっても、抽出可能な .exe は生成されません。これらはパッケージから取り出されたスタンドアロンの実行可能ファイルではなく、生成されたシム(shim)を介して実行されます。
NUPKG から EXE への変換方法
dotnet tool install (dotnet tool パッケージの場合) FREE
dotnet tool install --global <package-id> を実行して、PATH 上に実行可能なシムを登録します。.exe の抽出は不要であり、不可能です。
dotnet publish (ソースから EXE をビルドする場合) FREE
パッケージを参照する .NET プロジェクトをビルドして公開します:dotnet publish -c Release -r win-x64 --self-contained。.exe はプロジェクトのビルドから生成されるものであり、.nupkg 自体から生成されるものではありません。
これらの形式について
.nupkg ファイルは NuGet パッケージであり、.NET エコシステムで .NET ライブラリを配布するための標準的な形式です。これは、コンパイル済みの .dll ファイルと .nuspec メタデータ マニフェストを保持する ZIP アーカイブです。手動で開くことはほとんどありません。Visual Studio や «dotnet add package»…
.NUPKG の詳細を開く →EXEファイルはWindowsの実行プログラムです。Windowsでは、ダブルクリックして実行します。MacやLinuxでは、CrossOverやWineを使用してください。EXEはWindows以外ではネイティブに動作しません。EXEはWindowsにおけるマルウェア配布の最も一般的な形式であるため、信頼できるソースからのファイルのみを実行してください。
.EXE の詳細を開く →品質と注意点
.nupkgにはアプリケーションのエントリポイントがないライブラリ DLL が含まれています。拡張子を.exeに変更して実行しても失敗します。このファイルは PE バイナリではなく ZIP です。- dotnet tool パッケージの場合、
dotnet tool installは EXE を抽出することなく実行可能なシムを作成します。 - NuGet パッケージはアプリケーションではなくライブラリであるため、NUPKG から EXE への変換を実行する正当なツールは存在しません。
よくある質問
`.nupkg` を `.exe` にリネームして実行できますか?
NUPKG を EXE に変換するツールはありますか?
NuGet パッケージとして配布されている dotnet tool を実行するにはどうすればよいですか?
dotnet tool install --global <package-id> でインストールしてください。.NET CLI は EXE を抽出することなく、実行可能なシムを作成します。