| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

差分

ナビゲーションに移動 検索に移動
4,109 バイト追加 、 2022年10月23日 (日) 02:59
| [[.NET Core]] | [[C Sharp]] | [[ASP.NET]] | [[Razor]] | [[Docker]] | [[.NET Core Console]]
{{amazon|B078CXYZ6L}}
==[[ASP.NET Core]]==
----
*https://docs.microsoft.com/ja-jp/aspnet/core/getting-started/?view=aspnetcore-5.0&tabs=macos
*https://dotnet.microsoft.com/download/dotnet/5.0
*https://docs.microsoft.com/ja-jp/dotnet/core/install/macos
====SDK====
[[File:install_dotnetcore_sdk_for_mac.png|300px]]
=====アンインストール1=====*<pre>sudo rm -rf /usr/local/share/dotnet/sdk/6.0.200</pre> ===[[Ubuntu]]===----*[https://www.typea.info/blog/index.php/2022/04/16/ubuntu_nginx_asp_net_core/ Ubuntu+Nginx+ASP.NET Core]=====[https://docs.microsoft.com/ja-jp/dotnet/core/install/remove-runtime-sdk-versions?pivots=os-macos 削除]する場合===== *SDK
<pre>
$ cd /usr/local/share
$ ls
dotnet
$ sudo rm -rf dotnet</pre> *.NET ランタイム<pre>sudo rm -rf /usr/local/share/dotnet/shared/Microsoft.NETCore.App/$version
</pre>
====プロジェクト作成====
----
*[[.NET Core]]
*[https://docs.microsoft.com/ja-jp/dotnet/core/tools/dotnet-new?tabs=netcore21 プロジェクトテンプレート]
<pre>
$ dotnet new webapp -o aspnetcoreapp
</pre>
*開発申請書を信頼開発証明書を信頼
<pre>
$ dotnet dev-certs https --trust
====dotnet new====
*[[.NET Core]]
*[[Visual Studio Code]]
*https://docs.microsoft.com/ja-jp/dotnet/core/tools/dotnet-new?tabs=netcore21
$ dotnet new mvc
 
==MVC==
===コントローラー===
}
====IAction[[Rhttps://docs.microsoft.com/ja-jp/aspnet/core/web-api/action-return-types?view=aspnetcore-5.0 コントローラーの戻り値]]esult====----*特定の型*IActionResult*ActionResult<T> =====IActionResult=====----
{|class="wikitable"
!結果
&lt;error statusCode="500" redirect="InternalError.htm"/&gt;
&lt;/customErrors&gt;
==Web API==*https://docs.microsoft.com/ja-jp/aspnet/core/tutorials/first-web-api?view=aspnetcore-5.0&tabs=visual-studio ==[[Docker]] [[LInux]]イメージを [[Mac]]で実行==
*https://docs.microsoft.com/ja-jp/aspnet/core/host-and-deploy/docker/building-net-docker-images?view=aspnetcore-5.0
*===ローカルで実行===
<pre>
$ git clone https://github.com/dotnet/dotnet-docker
</pre>
[[File:dotnetasp_docker.png|400px]]
===Dockerで実行===
*[[Docker]] Desktopをインストール
*[[Visual Studio Code]] に[[Docker]]拡張機能をインストール
REPOSITORY TAG IMAGE ID CREATED SIZE
aspnetapp latest fedab8c51899 4 minutes ago 210MB
</pre>
*実行
<pre>
docker run -it --rm -p 5000:80 --name aspnetcore_sample aspnetapp
</pre>
*実行 http://localhost:5000/
[[File:aspdotnet_run_docker_mac.png|400px]]
 
==環境の切り替え==
 
* [https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/configuration/?view=aspnetcore-6.0 ASP.NET Core の構成]
* [https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/environments?view=aspnetcore-6.0 ASP.NET Core で複数の環境を使用]
* [https://docs.microsoft.com/ja-jp/aspnet/core/migration/50-to-60-samples?view=aspnetcore-6.0 ASP.NET Core 6.0 サンプル]
 
 
環境変数 DOTNET_ENVIRONMENT、ASPNETCORE_ENVIRONMENT(優先)
 
# Development : [https://docs.microsoft.com/ja-jp/aspnet/core/fundamentals/error-handling?view=aspnetcore-6.0#developer-exception-page 開発者例外ページが有効]
 
# Staging
# Production : DOTNET_ENVIRONMENT と ASPNETCORE_ENVIRONMENT が設定されていない場合既定値
 
 
* ASPNETCORE_ENVIRONMENT を使用してアプリを起動するときに現在のセッションに ASPNETCORE_ENVIRONMENT を設定するには、コマンド プロンプトまたは PowerShell で次のコマンドを使用する
<pre>
$Env:ASPNETCORE_ENVIRONMENT = "Staging"
dotnet run --no-launch-profile
</pre>
 
*ASP.NET Core 6.0
<pre>
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
ApplicationName = typeof(Program).Assembly.FullName,
ContentRootPath = Directory.GetCurrentDirectory(),
EnvironmentName = Environments.Staging,
WebRootPath = "customwwwroot"
});
 
Console.WriteLine($"Application Name: {builder.Environment.ApplicationName}");
Console.WriteLine($"Environment Name: {builder.Environment.EnvironmentName}");
Console.WriteLine($"ContentRoot Path: {builder.Environment.ContentRootPath}");
Console.WriteLine($"WebRootPath: {builder.Environment.WebRootPath}");
 
var app = builder.Build();
</pre>
 
==Tips==
===error NU1101: パッケージ Microsoft.AspNetCore.SpaProxy が見つかりません===
*nuget のソースを再構築する
<pre>
C:\workspaces\aspdotnetangular\aspdotnetangular.csproj : error NU1101: パッケージ Microsoft.AspNetCore.SpaProxy が見つかりません。ソース Microsoft Visual Studio Offline Packages には、この ID のパッケージが存在しません。 [C:\workspaces\aspdotnetangular\aspdotnetangular.sln]
</pre>
 
<pre>
> dotnet nuget list source


1. Microsoft Visual Studio Offline Packages [有効]

C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\
</pre>
<pre>
> dotnet new nugetconfig --force
</pre>
 
<pre>
> dotnet nuget list source
登録されているソース:
1. nuget [有効]
https://api.nuget.org/v3/index.json
</pre>
 
===サーバー証明書の検証をスキップ===
- https://qiita.com/TsuyoshiUshio@github/items/f238a2a2c1483c287e4b
<pre>
System.Net.Http.HttpRequestException: The SSL connection could not be established
</pre>
 
<pre>
var httpClientHandler = new HttpClientHandler();
httpClientHandler.ServerCertificateCustomValidationCallback = (message, cert, chain, sslPlicyErrors) => true;
var httpClient = new HttpClient(httpClientHandler);
 
</pre>

案内メニュー