ツナ缶雑記

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

Visual Studio

名前空間宣言の内側に using ディレクティブを置くと Using の削除と並び替えが動作しない

暗黙的な using ディレクティブと global using C# 10 になって結構うれしい機能のひとつが暗黙的な using ディレクティブと global using の機能です。 docs.microsoft.com この機能があるおかげで、ほとんどすべてのクラスファイルに追加していた System …

小ネタ:Visual Studio のテストの成功と失敗で一喜一憂する

Visual Studio 2019 の 16.9 あたりの更新から、単体テストの実行完了時に音を鳴らすことができるようになりました。 あまり良いとは言えませんが、テストの実行に時間を要するようなケースでは、テストを流しながら別の作業をすることもあるのではないでし…

XUnit で Null のフロー解析が警告を出す問題に対処する

※本稿は 2021/12/8 時点の情報に基づいています。 2021 年 11 月は .NET のリリース祭り Visual Studio 2022 とか C# 10 とか .NET 6 とか、 .NET 関連のリリースが 11 月に一気に押し寄せてきました。 手元のプロジェクトもいくつか .NET 6 への対応を始め…

タブの色分け表示機能がよい(Visual Studio 2022 Preview 4)

どんな機能か Visual Studio 2022 Preview 4 でタブの色分け機能が追加されています。 こんな感じで、プロジェクトごとにタブを色分けしてくれて、どのファイルがどのプロジェクトに所属するかわかりやすくなっています。 非常にわかりやすくてよいですね。 …

Visual Studioで巨大なソリューションを扱うときに便利な機能

ここのところかかわっているプロジェクトでは、 1 ソリューションのプロジェクト数が 500 を超えていて、 Visual Studio でソリューションを開くことがなかなか困難なレベルになっています。 そういう巨大なソリューションを取り扱う場合、 Visual Studio 20…

インターフェースを実装しているクラスやメソッドを楽に探す方法(Visual Studio 2019)

インターフェースや抽象クラスを用いたソースコードを書いているときの問題点として、コードを読んだときにどの具象クラスが実行されるのか、パッと見たときわからない、という問題があります。 DI を用いている場合は、特にインターフェースをゴリゴリ使う…

Visual Studio と開発者コマンドプロンプトを統合する(Visual Studio Terminal)

Visual Studio 2019 の 16.3 Preview 3 リリースで発表されていた Visual Studio Terminal がいつの間にか GA されていたので紹介します。 Visual Studio Terminal とは何か Visual Studio Code だと、 IDE の中にコマンドをたたくためのウィンドウが統合さ…

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

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

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

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

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

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

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

Visual Studio 2019の小ネタポストです。 Visual Studio を用いてそこそこ大きなプロジェクトを開発していると、知らず知らずのうちに大量のファイルを用いて開発を進めていくことになります。 何も設定しないで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アプリケーション内でできれ…