2017-01-25 8 views
2

ASP.NET Core(.NET Core)を起動する自己完結型のEXEを生成する方法を探しています。このプロジェクトは/ wwwrootから静的ファイルを提供するだけです。自己完結型のASP.NETコアWebアプリケーションをコンパイルすることは可能ですか?

コンソールアプリケーションを自己完結型EXEにする方法を示すfewresourcesが見つかりました。これらのリソースには、存在しないように思われるproject.jsonを修正する必要があります(少なくとも最初のテンプレートでは)。

これはASP.NET Coreアプリケーションでこれを行うことができるようには見えませんでしたが、これが可能か、何か不足していますか?

答えて

2

はい、そうです。

ただし、プロジェクトのフォルダ内にproject.jsonファイルが見つからない場合は、設定時に問題があります。

あなたは、あなたのプロジェクトのために新しいフォルダを作成し、コンソールでそのフォルダに移動してからこのコマンドを使用して新しいWebプロジェクトを作成した後:

dotnet new -t web 

project.jsonファイルを、ウェブのすべてと一緒にテンプレートファイルは、この時点で作成する必要があります。

project.jsonファイルを開き、ライン

"type": "platform" 

ます。また、「依存関係」の後に次の値を追加する必要がありますブロックを削除(またはコメントアウト)

"runtimes": { 
    "win10-x64": {} 
}, 

ことに注意してください"win10-x64"は、サーバーを実行するマシンのアーキテクチャに合わせて変更する必要があります。 .NETのコアでサポートされているランタイムのID(RID)の完全なリストについては、https://docs.microsoft.com/en-us/dotnet/articles/core/rid-catalog

project.jsonファイルに変更を保存し、復元コマンドを実行するを参照してください。その後、

dotnet restore 

そして

を構築
dotnet build 

* .exeファイルはbin/Debug/netcoreapp [version]/[RID]内にあります。

このフォルダからこの実行可能ファイルを実行すると、実行可能ファイルによってモデル、ビュー、コントローラが検出されず、ページが空白になることに注意してください。

+0

私は以前のバージョンのdotnetコアを使用していたようです(最新のバージョン+ dotnet new -t webをアンインストールしてインストールすると、project.jsonが表示されました)。 Visual Studio 2017 RCはまだproject.jsonを使用せずにプロジェクトを作成していますが、既存のソリューションに追加するcsprojファイルはありません。 – Matt

+0

上記のdotnet migrateをdotnetコアのプレビュー3でhttps://github.com/dotnet/core/blob/master/release-notes/preview3-download.mdで修正しました。今すぐスタンドアロンを確認する作業。 – Matt

+0

プレビュー3のdotnetと表示されます。新しい-t Webはproject.jsonファイル(VS2017RCなど)を生成しません。 csproj/xmlを介してEXEを生成する別の方法はありますか? – Matt

関連する問題