ツナ缶雑記

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

Data Explorer を使って Cosmos DB にデータを登録/検索する方法

Data Explorer を用いて Cosmos DB にアクセスする手順を初心者向けに解説しました。Data Explorer は Cosmos DB Emulator に付属するものを使用しています。

ローカルマシンで Cosmos DB を実行する

Azure のサービスの 1 つに、 Cosmos DB というデータベースサービスがあります。 データベースと言っても、ドキュメント DB や Key-Value Store など、リレーショナルデータベースではないデータベースサービスです。 こいつの特徴を簡単に言うなら、地理冗…

1つのソリューション内でC#とVBを使う

最近 C# と VB を混在させる話をよく質問されたので回答しておきます。 C# と VB はソリューション内に混在できる 結論から言うと、これは可能です。 VB のプロジェクトと C# のプロジェクトを用意し、プロジェクト参照を行うことで、 1 つのソリューション…

Visual Studio 2019 のタブ表示を切り替える

Visual Studio 2019の小ネタポストです。 Visual Studio を用いてそこそこ大きなプロジェクトを開発していると、知らず知らずのうちに大量のファイルを用いて開発を進めていくことになります。 何も設定しないでVisual Studioを使っていると、以下のようにフ…

Azure ReposリポジトリにGitHubリポジトリの最新の状態を反映する方法

インポート元のGitHubリポジトリに対して行われた修正を、Azure Reposのリポジトリに反映する方法について解説します。なお今回はVisual Studioを使った方法を解説します。コマンドラインでも同等のコマンドを発行することで、同じことができます。

GitHubのリポジトリをAzure Reposにインポートする

GitHubやAzure Reposにはフォークという機能があります。 フォークという機能はGitの機能ではなく、GitHubやAzure Repos単独の機能です。 なのでGitHubのリポジトリをフォークしてAzure Reposに持ってくることは仕組み上できません。 しかし、Azure Reposに…

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…

Chromium版Edgeにブラウザを乗り換えてみた

2020/1/15にChromium版の新Edgeブラウザーがリリースされました。 私は個人的にも社内でも、ずいぶん長い間Google Chromeを使っていたのですが、今回しばらくぶり(多分10年単位ぶり)に常用ブラウザーを新Edgeに乗り換えてみることにしました。 なぜChromiu…

Azure PipelinesでYAMLを使って仮想マシンにアプリケーションをデプロイする

Azure Pipelinesには、アプリケーションをデプロイするためのリリースパイプラインを、GUIで作る機能がありました。 この機能は大変便利なのですが、既に「Classic」と表現されていて、徐々に消えていく運命にあります。 今からやるなら、ビルド/リリースパ…

Azure Pipelinesで複数のリポジトリを使ったビルドパイプラインを構築する

Azure Pipelinesを使って、複数のリポジトリをチェックアウトするビルドパイプラインを構築する方法について解説します。

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

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

Azure DevOpsでリリース時にappsettings.jsonの中身を書き換える(Classic Editor 編)

本番環境にリリースする際、appsettings.jsonの設定値を差し替えたいことって結構あります。PaaSとかなら環境変数を使えばよいのですが、実行環境がVMだとその設定をばらまくのが大変です。そんなとき、Azure PipelinesとKey Vaultを組み合わせると、セキュ…

Blazor サーバーのメモリ利用量を確認してみた

以前の記事で、Blazor サーバーのアプリケーションは、システムリソースの消費量が気になる、といったことを書きました。 tsuna-can.hateblo.jp これがどういうことなのか、実際にサンプルのアプリケーションを通して、確認してみようと思います。 比較のた…

Azure DevOps の Deployment Group にプロキシ内のサーバーをエージェントとして登録する

最近の開発ツールを触っていると、プロキシに阻まれることが結構あります。 Azure DevOps の場合も同様で、各種チュートリアルのほとんどが、プロキシの存在を無視して解説しています。 そしてすごく質問を受けます。 ということで、今回は Azure DevOps の …

Blazorの概要

ASP.NET Core 3.0もリリースされて、サーバーサイドレンダリング限定ですが、Blazorも使えるようになりました。 ようやく触り始めたので自分の勉強メモもかねて、残していきたいと思います。 Blazorって何? 公式サイトを見ると、 .NETを使って対話型のクラ…

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

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

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

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

Visual StudioなしでAzure DevOpsのTFVCリポジトリにコマンドラインで接続する方法

何をいまさら。。。 正直普通にやるならAzure DevOpsのBuild Agentに登録して、Azure Pipelinesのタスクでやるのが王道だと思います。 その方が圧倒的に簡単だし楽だし、悪いことはほぼないでしょう。 ですが、今回事情によってどうしてもそういう作戦が取れ…

構成ファイルの書き換えを行う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を意識しなくても、データアクセス処理を実装することができてしまいます。その反面、実際にどのようなクエリが流れているのか、そしてそのクエリの実行にどのくらいの時間がかかっているのかを後から知ろうとすると、…

SendGridで送信遅延が発生したときの挙動

SendGridとは 送信遅延が発生 送信履歴の集計結果をC#プログラムで取得する 送信遅延時の動作 メール送信時の挙動 まとめ SendGridとは メール送信を行うためのクラウドベースのサービスです。Azureサブスクリプション (Visual Studioサブスクリプションを含…

Visual Studio 2019でAzure Functionsのテンプレートを使った時の注意点

問題点 Visual Studio 2019でAzure Functionsのテンプレートを使用すると、作成されるファイルのエンコードがANSI(Shift-JIS)になります。普通に使っている分には困らないと思いますが、Azure DevOpsとかにそのままファイルを上げてしまうと、ブラウザから…

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

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

Azure DevOpsで監査ログを参照できるようになる話

監査ログって システムにおける監査ログとは、ざっくり言えばシステムに対して「誰が何をしたのか」を記録したものです。以前までAzure DevOpsには、もっと全般的な使われ方を記録してくれる機能(Usage)はあったのですが、監査ログとして使うのには、内容…