ツナ缶雑記

ぐうたらSEのブログです。主にマイクロソフト系技術を中心に扱います。

.NET Framework

.NET Framework ベースのアプリケーションを .NET 5 ベースへと更新サポートするツール(upgrade-assistant)

つい先日、 .NET Framework ベースのアプリケーションを .NET 5 に移行するための便利ツールが登場しました。 .NET Blog でも紹介されていました。 devblogs.microsoft.com 今回はこいつを軽く触ってみた感想とか、できること、できないことを軽く整理してみ…

マネージド ID を使って App Service から SQL Database にアクセスする 後編

マネージド ID を用いて App Service に配置した Web Application から SQL Database にアクセスする方法を解説するシリーズ後編です。後編では、Azure 上にアプリケーションを配置して、 App Service 上の Web アプリケーションから SQL Database にアクセ…

マネージド ID を使って App Service から SQL Database にアクセスする 中編

マネージド ID を用いて App Service に配置した Web Application から SQL Database にアクセスする方法を解説するシリーズ中編です。中編では、ASP.NET の Web アプリケーションでマネージド ID を取り扱う方法について解説します。

Visual Studioでファイルを簡単にネスト表示する方法

Visual Studio を使っていると、一部のファイルがネスト表示されることに気づくと思います。 ネスト表示されるファイル 物理フォルダを見ると、これらのファイルはフラットに配置されていることがわかります。 ファイルはフラットに配置されている Visual St…

App.config に対して XML 変換を行う Azure Pipelines の YAML テンプレートを作る

ASP.NET のプロジェクトを作成すると、 Web.config ファイルが生成されます。 それと同時に、Web.Debug.config と Web.Release.config が作成され、アプリケーションの発行を行う際の構成にあわせて、 Web.config の変換を行ってくれます。 今回はこの構成フ…

Azure Pipelines の YAML テンプレートにある buildPlatform の設定に注意しろ

地味にはまったので供養のためメモを残しておきます。 本稿は 2020/4/15 現在の情報を示すものであり、 Azure Pipelines および Visual Studio の更新によって、将来当てはまらなくなる可能性を含んでいることに注意してください。 結論から言うと。。。 Azu…

HttpClientを使ってHTTPリクエストの送信前後に任意の処理を差し込む方法

.NET Framework 4.5で追加されたHttpClient、非常に便利に使うことができていい感じですよね。 Web APIへのアクセスを簡単に実装できて素晴らしい。 docs.microsoft.com そんなHttpClientですが、HTTPリクエストを送信する前後に、自由に処理を差し込むこと…

ASP.NET Web APIでPOSTリクエストを処理するときスレッドが変わる

.NET Framework ベースの ASP.NET Web API を用いた開発を行っていて、ちょっとよくわからない挙動に出くわしたのでメモ代わりに残しておきます。 環境 何がやりたかったのか ログ出力するコード Guid の発行処理を追加する API コントローラーを追加する Re…

Azure DevOpsでリリース時に構成ファイル(Web.config、App.config)の中身を書き換える(Classic Editor 編)

前回、Azure PipelinesのRelease機能を使って、appsettings.jsonの設定値をデプロイ時に書き換える方法について解説しました。 今回はその.NET Framework版ということで、Web.configや、App.configの値をデプロイ時に書き換える方法について解説します。 お…

Azure PipelinesからAzure ArtifactsにNuGetパッケージを公開する

やりたいこと 前回作成した NuGet パッケージを、 Azure Artifacts にアップロードして、プライベートな NuGet パッケージリポジトリを構築します。 NuGet パッケージのもとになるソースコード一式は、 Azure DevOps の Git リポジトリに配置します。 その後…

構成ファイルの書き換えを行うNuGetパッケージの作り方(XDT変換編)

やりたいこと NuGetパッケージをプロジェクトに追加したとき、勝手に構成ファイルが書き換わるパッケージというのが存在するかと思います。 Entity Framework 6.2.0とかもそうで、構成ファイルに設定が入ってきます。 このように、構成ファイルを書き換えるN…

構成ファイルの書き換えを行うNuGetパッケージの作り方(XML変換編)

やりたいこと NuGetパッケージをプロジェクトに追加したとき、勝手に構成ファイルが書き換わるパッケージというのが存在するかと思います。 Entity Framework 6.2.0とかもそうで、構成ファイルに設定が入ってきます。 このように、構成ファイルを書き換えるN…

.NET FrameworkのNuGetパッケージを作成する

時代は.NET Core 3に入ろうとしていますが、懲りずに.NET FrameworkのNuGetパッケージの作り方をまとめます。 環境 今回作るもの クラスライブラリの準備 必要なNuGetパッケージの参照を追加する クラスライブラリを実装する 自作NuGetパッケージのメタ情報…

Entity Framework 6で実行したSQLと実行時間をアプリケーション内で取得する方法

Entity Frameworkを使用すると、特にSQLを意識しなくても、データアクセス処理を実装することができてしまいます。その反面、実際にどのようなクエリが流れているのか、そしてそのクエリの実行にどのくらいの時間がかかっているのかを後から知ろうとすると、…

Entity Framework 6 DBファーストで数値型のカラムをEnumとして取り扱う方法

やりたいこと Entity Frameworkのデータベースファーストを使用する場合、モデルクラスの各プロパティの型は、データベースの型によって勝手に決められます。「XXステータス」のように、取りうる値が決まっているケースでは、.NETアプリケーション内でできれ…