tech.guitarrapc.cóm

Technical updates

.NET

WindowsエクスプローラーのコンテキストメニューからOpen with Visual Studioを消す

Visual Studioを使っていて、フォルダのコンテキストメニュー(右クリックメニュー)に「Open with Visual Studio」が出て邪魔だなと思ったことはありませんか?Visual Studiは起動パスに.vs/を作るのですが、これで差分ができて悲しい思いを何度かしています。…

.NET アップグレード アシスタントでCentral Package Managementに移行する

C#(.NET)プロジェクトでNuGetパッケージを管理する方法はいくつかありますが、Visual Studio 2022 17.2以降 (NuGet 6.2以降)で導入されたCentral Package Managementはプロジェクトのパッケージ管理を簡単にする新しい方法です。これを使うと複数のcsprojフ…

.NET 7 で WPF を Linux ビルドする

.NET 7のリリースノートを見ているとふとWPFがあったので覗いてみると気になるリリースが含まれています。 devblogs.microsoft.com 引用: https://devblogs.microsoft.com/dotnet/wpf-on-dotnet-7/ Improve Linux buildとは。.NET 7でWPFがビルドできるよう…

新しいバージョンの .NET SDK と Visual Studio の更新

2022/11/8、.NET 7がリリースされて、Visual Studio 2022にも対応する更新17.4.0が降ってきました。ヤッター。 devblogs.microsoft.com これに伴い、Visual Studioの更新でインストールされている .NET SDKが意図せず変わるのに出会うのが3度を超えたのでメ…

GitHub Actions の setup-dotnet と ホストランナーの .NET SDK

GitHub Actionsで .NET Coreビルドを行いたいときに利用するものといえば、setup-dotnetがあります。 github.com 今回はUbuntu-latestな環境でsetup-dotnetがいる場合と、そうでない場合について考えてみます。 tl;dr; GitHub Actions と ホストランナー set…

CircleCI 上で dotnet test の verbosity がオーバーライドできない問題とその対処

CircleCIでdotnet test、妙な挙動をすることは前回1つ紹介しました。 tech.guitarrapc.com が、まさかまた1つネタが見つかるとは思わなかったです。 今回はdotnet testがこけた時の出力について。 更新 2020/6/17本件の修正がマージされて修正されました。や…

CircleCI Orb をいくつか作った話

幾つかCircleCI Orbを作っていたのですが、記事にしていませんでした。 どれも必要になって作ったもので、いずれもプロダクションで万単位が実行されれているのでいい感じで使えそうなら幸いです。 TL;DR Orbs とは 公開したOrbs guitarrapc/Git-shallow-clo…

Pulumi Workaround

この記事は、Pulumi dotnet Advent Calendar 2019の25日目です。 qiita.com 最終日は、Pulumiでこんなときどうするのかをまとめていきます。 TL;DR Pulumi.Aws.Iam.Invokes のInput<T>がOutput<T>の依存解決を行えない Pulumi-aws の destroy で vpc 削除が何度や</t></t>…

Pulumi のState と実リソースの差分を同期する

この記事は、Pulumi dotnet Advent Calendar 2019の23日目です。 qiita.com Terraformを使っていると、HCLで定義したリソースがHCLの定義とずれると差分として検出されました。 しかし、Pulumiではpulumi upをしただけでは検出されないことに気づきます。 こ…

DotNetCliToolReference から .NET Core Local Tools へ移行する

前回、.NET Core ToolsとDotNetCliToolReferenceについてみてみました。 tech.guitarrapc.com DotNetCliToolReferenceがオワコンということで、.NET Core Local Toolsに移行しないと、ということもあるわけでどのようにやったかを残しておきます。 TL;DR Ste…

.NET Core Tools と DotNetCliToolReference

.NET Core 3.1がリリースされました、LTSリリースなのでnetcoreapp3.0にしていたものは悉くnetcoreapp3.1に移行ですね。 さて、C# 的には .NET Core 3.0から変化がほぼないのですが、dotnet cliやビルド的には.NET Core 2.2から破壊的変更が行われました。 .…

pulumi up 時の文字化け対策

この記事は、Pulumi dotnet Advent Calendar 2019の19日目です。 qiita.com そろそろどうやるか見てみましょう。 と思ったのですが、日本語OS上では解決方法が見つからないのでゆるぼ。 TL;DR Summary NOTE: だめな方法 推察 REF TL;DR 現状日本語Windowsで…

Pulumi のプラグインを確認する

この記事は、Pulumi dotnet Advent Calendar 2019の18日目です。 qiita.com Pulumiの各プロバイダの実装はPluginとして提供されています。 このプラグインを確認する方法を見てみましょう。 TL;DR Pluginの確認 GitHub .NET 実装では NuGet で参照される Plu…

Pulumi で他のstate 参照を行う

この記事は、Pulumi dotnet Advent Calendar 2019の17日目です。 qiita.com PulumiのTIPSを見ていきましょう。 TerraformのRemote Stateに相当する処理を見てみます。 Pulumiで他のStackで管理しているリソースは参照できるのでしょうか? TL;DR Stack Refere…

Pulumi でstateから特定のリソースを消す

この記事は、Pulumi dotnet Advent Calendar 2019の15日目です。 qiita.com PulumiのStateから特定のリソースだけ管理対象外にしたい、そんなことはきっと起こります。 どのようにやればいいのか見てみましょう。 TL;DR 想定ケース 対応方法 REF TL;DR pulum…

Pulumi でリソースのパラメーターが変化しても無視 Ignore Changes する

この記事は、Pulumi dotnet Advent Calendar 2019の14日目です。 qiita.com すでにPulumiで扱うこと自体はなるほど、という感じになってきましたでしょうか。 完全に理解した() を目指して、さらに進めてみます。 Terraform作ったリソースだが、実際にはKube…

dotnet test にタイムアウトを仕掛ける

dotnet testをCIで実行していて、永遠に終わらないのを仕込んでしまったのですがどう対処するかです。 TL;DR 異常なテストを捕捉したい テスト実行dotnet testをタイムアウトさせる dotnet testをRunsettings.TestSessionTimeout で実行タイムアウトさせる R…

Pulumi を CircleCI で Continuous Delivery する

この記事は、Pulumi dotnet Advent Calendar 2019の13日目です。 qiita.com Terraformでは、PRに連動させてどのようにPlan/Applyをするのかを一度は考え、すでに実践しているはずです。 私のお勧めはAtlantisですが、CircleCIでもいいでしょう。Terraform Cl…

Pulumi の設定を Config で保持する

この記事は、Pulumi dotnet Advent Calendar 2019の10日目です。 qiita.com PulumiはWeb UIがあり、そこにはConfigが見えます。 実際にコードでもConfigが参照でき、機密情報はConfigに保持して参照することでGitから分離できてよさそうです。 早速見てみま…

Pulumi で既存のリソースを取り込む

この記事は、Pulumi dotnet Advent Calendar 2019の9日目です。 qiita.com 前回までの記事でPulumiを使ってIaCできる感触が出てきました。 今回から、一歩先に進めることを見ていきましょう。 まずは、既存のリソースを取り込むことです。terraform importで…

Pulumi でリソースの結果を参照させる

この記事は、Pulumi dotnet Advent Calendar 2019の8日目です。 qiita.com リソースを作ったら、ほかのリソースを作るときにその結果を参照させたいお気持ちになります。 どうやるのか見てみましょう。 TL;DR Summary Detail Output の処理の種類 Use Cases …

Pulumi リソースのグルーピングと非同期処理を行う

前回リソースの入れ子をする方法を見ました。 この記事は、Pulumi dotnet Advent Calendar 2019の6日目です。 qiita.com 今回は、ComponenseResourceで親子関係の維持、Dataリソースをasync/awaitで使うという二点を担保できるようにResourceクラスの簡単な…

Pulumi のリソースを入れ子にする

この記事は、Pulumi dotnet Advent Calendar 2019の5日目です。 qiita.com リソースの親子関係を持たせることで、preview表示、グラフ表示したときに入れ子状態が格段と見やすく把握しやすくなります。 ではどうやって親子関係を持たせればいいのでしょうか…

Pulumi で Aws のリソース情報の取得

この記事は、Pulumi dotnet Advent Calendar 2019の4日目です。 qiita.com terraformでいうところのdataリソースに相当する処理を見てみましょう。 すでに存在するリソースを参照して、ほかのリソースで利用するための方法です。 TL;DR 現在の AWS アカウン…

Pulumi のコンセプト - プログラミングモデル

この記事は、Pulumi dotnet Advent Calendar 2019の2日目です。 qiita.com Getting Startedを一日目で見たので、PulumiでC# を使ってそもそもどのような風に書けばいいのかコンセプトを把握します。 疑問はそれから順次書きながら解消していきましょう。 TL;…

Pulumi の .NET Coreの Preview リリースとGetting Started

この記事は、Pulumi dotnet Advent Calendar 2019の1日目です。 qiita.com Pulumiの .NET Core対応版がPreviewリリースされました。 Getting Startedから、実際に環境を構築したり疑問点の解決を回を重ねながらみていきましょう。 TL;DR Pulumi Getting Star…

CircleCI でdotnet test が遅い問題と対処方法

この記事は、C# その2 Advent Calendar 2019の一日目の記事です。 qiita.com C# で書いたアプリをLinuxやコンテナ環境で動かすことも当たり前になりました。コンテナイメージを作成するのにCircleCIは非常に便利な機能が多く、私も多くの場面でCircleCIをCI…

servo で gRPC(MagicOnion)サーバーを公開する

2019/7/29にservoに関する記事をみて、gRPCっていけるのかなということでMagicOnionを試します。 qiita.com 記事にするのを忘れてたので書いておきます。 結論 何がうれしいのか 結論 問題なくok 大事なのは、MagicOnionのサーバーをlocalhostで待つこと (12…

TeamsId2BitwardenConverter でTeamsId から Bitwardenへの移行を再度行う

TeamsIdからBitwardenへの移行をまたやってました。 tech.guitarrapc.com 作っておいてよかったということでサクッとやったのですがいくつか修正しています。 TeamsId2BitwardenConverter 個人のデータを移行する まとめ TeamsId2BitwardenConverter 移行に…

.NET Core 3の Single-file executables を生成する

.NET Core 3.0では、単一バイナリ(Single-file executables)が生成可能になりました。 github.com 今回はどのようにSingle Executable生成するのか、普段は .NET Core 2.1でビルドしたいときの分け方、dotnet global toolとビルドを分けること、GitHubリリー…