2.3. .NET Core 2.1 を使用したアプリケーションの公開
.NET Core 2.1 アプリケーションを公開して、共有されたシステム全体の .NET Core バージョンを使用するか、.NET Core を追加できます。
.NET Core 2.1 アプリケーションを公開するには、以下のメソッドがあります。
-
フレームワーク依存デプロイメント (FDD): アプリケーションは、共有されたシステム全体の .NET バージョンを使用します。RHEL にアプリケーションを公開する場合、Red Hat は FDD を使用することを推奨しています。これは、アプリケーションが Red Hat が構築した最新バージョンの .NET Core を使用しているためです。これには、特定のネイティブ依存関係のセットが含まれます。これらのネイティブライブラリーは、
rh-dotnet21Software Collection に含まれます。 -
SCD (自己完結型デプロイメント): アプリケーションには .NET が含まれます。この方法では、Microsoft が構築したランタイムを使用します。ネイティブライブラリーが利用できないため、
rh-dotnet21Software Collection 外でアプリケーションを実行すると問題が発生する可能性があります。
前提条件
既存の .NET Core アプリケーション。
.NET Core アプリケーションの作成方法は、「.NET Core 2.1 を使用したアプリケーションの作成」 を参照してください。
2.3.1. .NET Core アプリケーションの公開 リンクのコピーリンクがクリップボードにコピーされました!
手順
フレームワーク依存アプリケーションを公開します。
dotnet publish my-app -f netcoreapp2.1 -c Release
$ dotnet publish my-app -f netcoreapp2.1 -c ReleaseCopy to Clipboard Copied! Toggle word wrap Toggle overflow my-app を公開するアプリケーションの名前に置き換えます。
任意: アプリケーションが RHEL 専用の場合は、次のコマンドを使用してその他のプラットフォームに必要な依存関係を削除します。
dotnet restore my-app -r rhel.7-x64 dotnet publish my-app -f netcoreapp2.1 -c Release -r rhel.7-x64 --self-contained false
$ dotnet restore my-app -r rhel.7-x64 $ dotnet publish my-app -f netcoreapp2.1 -c Release -r rhel.7-x64 --self-contained falseCopy to Clipboard Copied! Toggle word wrap Toggle overflow Software Collection を有効にし、アプリケーションアセンブリー名を dotnet に渡して、RHEL システムでアプリケーションを実行します。
scl enable rh-dotnet21 -- dotnet <app>.dll
$ scl enable rh-dotnet21 -- dotnet <app>.dllCopy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションと共に公開されるスクリプトに
scl enable rh-dotnet21 PROVISIONING-gitopsdotnet <app>.dllコマンドを追加できます。以下のスクリプトをプロジェクトに追加し、
ASSEMBLY変数を更新します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow パブリッシュ時にスクリプトを含めるには、この ItemGroup を
csprojファイルに追加します。<ItemGroup> <None Update="<scriptname>" Condition="'$(RuntimeIdentifier)' == 'rhel.7-x64' and '$(SelfContained)' == 'false'" CopyToPublishDirectory="PreserveNewest" /> </ItemGroup><ItemGroup> <None Update="<scriptname>" Condition="'$(RuntimeIdentifier)' == 'rhel.7-x64' and '$(SelfContained)' == 'false'" CopyToPublishDirectory="PreserveNewest" /> </ItemGroup>Copy to Clipboard Copied! Toggle word wrap Toggle overflow