.NET Core

How to fix "Cannot find compilation library location for package 'Microsoft.Win32.Registry'"

ASP.NET Core アプリケーションを CentOS7 にデプロイして実行すると、以下のエラーが出ました。 fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[0] An unhandled exception has occurred: Cannot find compilation library location f…

ASP.NET Core+Entity Framework CoreでコードからPostgreSQLにデータベースを作成する方法

はじめに この記事では、ASP.NET Core な Web アプリケーションの Entity Framework Core のコードから、PostgreSQL にデータベースとテーブルを作成して、実際に Web アプリケーションを動作させてみます。 なお、環境は Mac (macOS High Sierra 10.13.3) …

.NET Core, コンソールアプリでNLogを使ってログを出力する

はじめに 技術調査の段階では軽視されがちなログ出力ですが、実運用となるとログがなければ問題解決の話にならないこの現実は厳しいなと思う今日この頃、みなさまにおかれましてはログをどのように扱っているでしょうか? さて、ちょっと変わった出だしです…

.NET Core, Visual Studio Codeでプロジェクト参照を追加する

はじめに Visual Studio Code は単体のプロジェクトの開発をするにはいいのですが、他のクラスライブラリなどのプロジェクト参照を追加しようとすると本家 Visual Studio のように GUI でちゃちゃっとはできません。 以前の記事で、ローカルで NuGet パッケ…

.NET Core, アプリで使用するデータベースを実行環境で構築したり変更する方法

はじめに .NET Core の調査を始めてから気になっていたのが、デプロイをどうするかという情報が極端に少ないことです。 開発に焦点があたりすぎていて、なかなかデプロイの情報にたどり着けません。 このブログでは以下の記事で .NET Core アプリのデプロイ…

CentOS7にPostgreSQL9.6をインストールして.NET Core用の設定をする

はじめに CentOS7に PostgreSQL をインストールするのなら、CentOS7のサポート対象の 9.2 か最新バージョンの 10.x になるのでしょうが、ちょっと Amazon RDS for PostgreSQL を使いたいと思っていたら、どちらもサポートされていないのですね。 Q: Amazon R…

.NET Core, Entity Framework Coreで INNER JOIN / LEFT JOIN を実装する方法

はじめに Entity Framework Core で INNER JOIN と LEFT JOIN を実装する方法ですが、ちょっと試行錯誤したのですがその方法をご紹介します。 アプリケーションはコンソールアプリケーションで、データベースは PostgreSQL を使用しコードファーストでデータ…

.NET Core, ローカルライブラリをNuGetでパッケージ化して、他のプロジェクトにインストールする方法

はじめに .NET Core でローカルのライブラリを作成して NuGet でパッケージ化し、他のプロジェクトにインストールしようと思ったのですが、ネット上のどこにも具体的な方法が掲載されておらずかなり苦労しましたが、ようやくその方法が分かりましたのでご紹…

.NET Core, Entity Framework Coreでトランザクション制御を行う

はじめに .NET Core の Entity Framework Core では、デフォルトでトランザクション制御が行われます。 具体的には、MyContext#SaveChange メソッドが呼び出された際にトランザクションが開始され、データの更新が成功すればコミット、失敗すればロールバッ…

.NET Core, Entity Framework CoreのDbContext#SaveChangesがトランザクション処理をしていることを確認する

はじめに 前の記事では、SELECT 処理の SQL ログの出力方法をご紹介しましたが、更新系のログをフィルタをかけない状態のものをご紹介していませんでした。 なぜフィルタをかけない更新系のログを見る必要があるかというと、DbContext#SaveChanges メソッド…

.NET Core, ASP.NET CoreでNLogを使ってログを出力する

はじめに 前の記事では、.NET Core のコンソールアプリケーションで NLog を使ってログを出力する方法をご紹介しましたが、今回は ASP.NET Core での方法をご紹介したいと思います。 気をつけなければいけないのが、コンソールアプリケーションでは NLog.Ext…

.NET Core, Entity Framework CoreでSQLログを出力する

はじめに .NET Core の Entity Framework Core で LINQ を使用してデータベースアクセスしていると、実際にはどのような SQL が発行されているのか気になることがあります。 Entity Framework Core には、いくつかの方法で SQL ログを出力することができます…

.NET CoreのアプリをLinuxのcronを使いバッチでスケジュール実行させる(CentOS7)

はじめに .NET Core のコンソールアプリケーションを作成していれば、Linux のバッチ処理も .NET Core で書きたくなると思います。それも、スケジュール実行ができるとなおよいですね。 この記事では、.NET Core のコンソールアプリケーションを Linux の cr…

.NET CoreでサイトのRSSフィードを検索してコンソールに出力する

前の記事では、CodeHollow.FeedReader というライブラリを使用して RSS フィードの内容をコンソールに出力しましたが、今度はサイトの中にある RSS フィードを同じライブラリを使用して検索しアドレスをコンソールに出力してみます。 なお、環境は Mac (macO…

.NET CoreでRSSフィードをパースしてコンソールに内容を出力する

.NET Core でブログなどの RSS フィードをパースするためのライブラリに CodeHollow.FeedReader というものがあり、NuGet よりインストールができます。CodeHollow.FeedReader は RSS 0.91, 0.92, 1.0, 2.0 と ATOM をサポートしています。 今回はこのライブ…

.NET Core, Entity Framework CoreでAND検索・OR検索する方法

はじめに Web アプリケーションでは、複数キーワードの AND 検索・OR 検索をすることが多いと思います。 .NET Core の Entity Framework Core では、この AND 検索・OR 検索を簡単に行うことができます。 その方法をご紹介します。 なお、環境は、Mac (macOS…

.NET Coreのデータベース接続文字列を外部ファイルに保存する

.NET Core のプログラムでデータベース接続文字列をソースコードに記述していると、以下のような警告がビルド時に出力されるようになります。 Models/consoletestContext.cs(15,10): warning CS1030: #warning: 'To protect potentially sensitive informati…

.NET Core, Entity Framework CoreでPostgresSQLからデータベースファーストでモデルクラスを自動作成する

この記事では、Entity Framework Core で 既存のPostgresSQL データベースからモデルクラスを自動作成しする方法をご紹介します。その後、LINQ を使用してデータベースの内容を出力するコンソールアプリケーションを作成します。 環境は、Mac (macOS High Si…

ASP.NET CoreアプリをLinuxにデプロイしてNginxで公開する方法(CentOS7)

はじめに ASP.NET Core の情報は、日本語はほぼなく英語も少ないのですが、その中でも ASP.NET Core アプリのデプロイについての詳しい情報は皆無の状態です。 この記事では、ASP.NET Core アプリの Linux (CentOS7)へのデプロイ方法を詳しく解説します。 概…

ASP.NET Core アプリが Linux で表示できない場合の解決方法

ASP.NET Core アプリを Linux, 今回は CentOS7 にデプロイして dotnet xxx.dll で実行したのですが、デフォルトのポートである 5000番ポートに http://<IPアドレス>:5000/ でアクセスしてもタイムアウトエラーが発生してしまうという現象が発生して困っていました。 基本</ipアドレス>…

CentOS7に .NET Core SDKをインストールする

.NET and C# - Get Started in 10 Minutes CentOS 7 に .NET Core SDK をインストールするのはとっても簡単です。 ただ、バージョンによってインストール方法が変わるので、上記サイトにて手順を確認してください。 v2.1.4のときの手順を以下の記載します。 …

MacでASP.NET Core + EntityFramework Core + MySQL な開発を行う方法

はじめに ASP.NET Core や EntityFramework Core が登場したおかげで、Mac でも ASP.NET な開発ができるようになりました。また、Visual Studio for Mac が登場したことで高い生産性で開発もできるようにもなりました。 この記事では、Visual Studio for Mac…

EntityFramework Core2.1でGROUP BY句がSQLで実行されるようになったので検証してみた

はじめに 以下の記事で、.NET Core の EntityFramework Core 2.1で GROUP BY 句がインメモリではなく、SQLでデータベース上で集計されるようになったということで検証してみました。 EF Core 2.1 に対する最初の大きな追加は、GroupBy LINQオペレーターがGRO…

.NET Core な時代にMySQLとPostgreSQLのどちらを選択すべきか

はじめに マルチプラットフォームで動作する .NET Core を現在試しているのですが、大分現実のプロダクトに採用できるレベルに達してきているという感触を持っています。 マルチプラットフォームで .NET Core アプリケーションが動作するだけでなく、開発環…

Macで.NET Coreをアンインストールして古いバージョンをインストールする

.NET Core をいじっていると、.NET Core をアンインストールしたくなったり、古いバージョンに戻したくなったりすると思います。 そんなときの対応を残しておきます。 まず、dotnet --info というコマンドを実行します。実行結果が以下のようになっていたと…

.NET Core, ASP.NET CoreでMarkdown記法を実装する方法

はじめに 最近、Markdown 記法の利用が増えてきているようです。そこで、ASP.NET Core でも Markdown 記法が使えるか調べてみました。 要件は次の通り。 HTMLタグの入力は許さない Markdown 記法のみ HTML に変換して出力する 結論としては Markdig というラ…

How to fix No executable found matching command "dotnet-install"

.NET Core 環境で下記コマンドを実行したら、以下のようなエラーがでました。 $ dotnet install tool dotnet-dev-certs -g --version 2.1.1 コマンド "dotnet-install" に一致する実行可能ファイルが見つかりません (English:No executable found matching c…

ASP.NET CoreでSSL/TSL自己証明書をMacに組み込む方法

ASP.NET Core WebAPI で SSL/TLSの自己証明書をMacに組み込む方法をご紹介します。 なお、ASP.NET Core MVC でも違いはないので心配ないです。 これを行っていないと、ASP.NET Core WebAPI プロジェクト実行時、いきなり以下のエラーが発生して実行できない…