Ubuntu 16.04 LTS で ASP.NET Core MVC のプロジェクトを作成してみる
Ubuntu 16.04 LTS で ASP.NET Core MVC のプロジェクトを作成してみる
VsCode で編集できるのかな?と試そうと思ったけど、まずはプロジェクトの作成から試してみることにする
・VsCodeで実行する場合
launch.json を作成する
Project.csproj を開いて code runner で起動する
※出力パネルが文字化けする場合 export LANG=ja_JP.UTF-8 後再起動
※.profile に自分は追加
※ $ dotnet publish -c Debug -r ubuntu.16.04-x64 Project.csproj $ dotnet ./bin/Debug/netcoreapp2.1/ubuntu.16.04-x64/publish/samp0001.dll (相当を実行 かな?) Ctrl+Alt+M で終了する
参考にしたのは以下のサイト
Ubuntu 16.04 LTS で ASP.NET Core を試してみる
・プロジェクトを新規作成する
$ dotnet new mvc -au None テンプレート "ASP.NET Core Web App (Model-View-Controller)" が正常に作成されました。 このテンプレートには Microsoft 以外からのテクノロジが含まれています。詳細については https://aka.ms/aspnetcore-template-3pn-210 をご覧くださ い。 作成後のアクションを処理しています... 'dotnet restore' を /home/tabizou/dev/code/core/samp0001/samp0001.csproj で実行しています... /home/tabizou/dev/code/core/samp0001/samp0001.csproj のパッケージを復元しています... Microsoft.NETCore.DotNetAppHost 2.1.0 をインストールしています。 Microsoft.NETCore.DotNetHostResolver 2.1.0 をインストールしています。 Microsoft.NETCore.DotNetHostPolicy 2.1.0 をインストールしています。 Microsoft.NETCore.Targets 2.1.0 をインストールしています。 Microsoft.NETCore.App 2.1.0 をインストールしています。 MSBuild ファイル /home/tabizou/dev/code/core/samp0001/obj/samp0001.csproj.nuget.g.props を生成しています。 MSBuild ファイル /home/tabizou/dev/code/core/samp0001/obj/samp0001.csproj.nuget.g.targets を生成しています。 /home/tabizou/dev/code/core/samp0001/samp0001.csproj の復元が 12.47 sec で完了しました。 正常に復元されました。
・作成された csproj の内容を比較する(2.0 と 2.1 の違いはあるんだけど)
$ cat samp0001.csproj <Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.1</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.App" /> </ItemGroup> </Project>
・vs2017 Community で作成したプロジェクトのファイル
<Project Sdk="Microsoft.NET.Sdk.Web"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> </PropertyGroup> <ItemGroup> <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.8" /> <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.0.3" /> </ItemGroup> <ItemGroup> <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="2.0.4" /> </ItemGroup> </Project>
・実行イメージを作成してみる
$ dotnet publish -c Release -r ubuntu.16.04-x64 samp0001.csproj .NET Core 向け Microsoft (R) Build Engine バージョン 15.7.179.6572 Copyright (C) Microsoft Corporation.All rights reserved. /home/tabizou/dev/code/core/samp0001/samp0001.csproj のパッケージを復元しています... runtime.linux-x64.Microsoft.NETCore.DotNetAppHost 2.1.1 をインストールしています。 runtime.linux-x64.Microsoft.NETCore.DotNetHostResolver 2.1.1 をインストールしています。 runtime.linux-x64.Microsoft.NETCore.DotNetHostPolicy 2.1.1 をインストールしています。 runtime.linux-x64.Microsoft.NETCore.App 2.1.1 をインストールしています。 MSBuild ファイル /home/tabizou/dev/code/core/samp0001/obj/samp0001.csproj.nuget.g.props を生成しています。 MSBuild ファイル /home/tabizou/dev/code/core/samp0001/obj/samp0001.csproj.nuget.g.targets を生成しています。 /home/tabizou/dev/code/core/samp0001/samp0001.csproj の復元が 44.21 sec で完了しました。 samp0001 -> /home/tabizou/dev/code/core/samp0001/bin/Release/netcoreapp2.1/ubuntu.16.04-x64/samp0001.dll samp0001 -> /home/tabizou/dev/code/core/samp0001/bin/Release/netcoreapp2.1/ubuntu.16.04-x64/samp0001.Views.dll samp0001 -> /home/tabizou/dev/code/core/samp0001/bin/Release/netcoreapp2.1/ubuntu.16.04-x64/publish/
・起動してみる
$ dotnet ./bin/Release/netcoreapp2.1/ubuntu.16.04-x64/publish/samp0001.dll Hosting environment: Production Content root path: /home/tabizou/dev/code/core/samp0001/bin/Release/netcoreapp2.1/ubuntu.16.04-x64/publish Now listening on: http://localhost:5000 Now listening on: https://localhost:5001 Application started. Press Ctrl+C to shut down.
https://localhost:5001/ で正しく表示されることを確認