kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

PC を乗り換える(予定)

今使っているのがSkylakeのCore i7でWindows 11に移行できないということで、意を決して新調しました。

この辺のパーツを購入した店が作業場所を無料で貸してくれたので、お店で通電だけやって配送してもらうことにしました。初めての水冷だけど静かですねー。Gen 12のLGA 1700は反り返るという問題があるらしいけど、まぁ通常の使用では大丈夫だろうと。Fractal Designの水冷キット、WebではLGA 1700未対応になっているのですが、店舗の商品にはリテンションキットが付属していたので、安心して買えました。

最初はZ690とDDR5の組み合わせにしようと思っていたのですが、どうも高くなりすぎるし(見積もっていた時は7万円くらいプラス)、H670でも私が必要としている機能は入っているからいいかなと。

作ってみて失敗したなーと思うことはいくつかありました。

  • ケースデカすぎた。組み立てるには楽だったのはよかったけど。そして、これを選んだ理由の一つが5インチベイが使えることだったのですが、2個のファンをつけた水冷だと多分ギリ光学ドライブ入らない。後でやってみます。これならもう一つ下のサイズでもよかったなー。ちなみにガラスのケースではないモデルをお願いしたはずですが、ガラスモデルしか在庫がなかったので我慢です。
  • ケースの電源ATXのギリギリのサイズを見切っているようで、ENERMAXのように上に網がはみ出ているタイプだと入らない。仕方なく網の部分を外しました。店の人に確認したのですが、知らなかったようです。
  • USB 3.2のケースフロント部分につなぐためのケーブルがギリギリ届かないかと思った。最初は届かなかったけど、少し引っ張り、引き出すところ変えたらギリ届いた。規格状70cm以上にはできないので、マザーレイアウトとケースの大きさで地獄見ますね。

通電を確認しただけなので、OSなどは入れていないし、ケースファンもつけていないのですが、届いたらビデオカードなどと一緒につけようと思います。

BDドライブはまだPCでのUltra BD再生にちょっとだけ未練があったのですが、Intel Gen 12とWindows 11で機能が落とされてしまったので、安心して見限れます。入らなければ最悪の場合外付けのUSB BDでも調達しようかな。

残りの作業としては、ThinkPad X1 Extemeに繋げることができなかったNVMe SSD 1TBが残っているので、それをデータドライブにして、今のマシンで使っているGeForce 2060を流用、バックアップ用のHDDを増設するくらいですかね。

配送が楽しみです。

Microsoft Developer Day / Nightでお話ししてきました

2/3のお昼にMicrosoft Developer Day、夜にはNightが開催されました。私は厚かましくも(一応夜は「いなければ」ということでお願いしたはずなのですが😅)昼と夜両方お話しさせていただきました。

msdevjp.connpass.com

夜の部のイベント

そして資料です(イベントページにもあります)。昼のイベントに関してはソーシャルアカウントの方から案内があるそうです。資料公開の許可も出しているので、後から入手していただけるはずです。

当日の裏話的な話としては、「質問そんなにこないだろう」と思っていたのですが、あれよあれよとやってきて、10通くらいきたのかな?ちょっと操作を間違ってしまって、publicにするべき回答がprivateのままで皆さんに共有できなかったものもありましたが。セッション終わった後も何通かいただいて、マイグレーションの関心の高さが伺えました。

いつも言っているのですが、「やってみればいい」のです。

  • 最新のOSにVSを入れる
  • ソリューション読み込む
  • ターゲットフレームワークを変更する
  • ビルドしてみる

あとはエラーやdeprecated警告出ているものをドキュメント見ながらやるかやらないか考えるのが早いです。「見積もり作らないといけないから最初にリスト見てチェックしたいんです」とか言っている人が多いのですが、ソースの中身や構造知らない人が机上のチェックだけやっても時間の無駄です。

あと、やる場合、特にGit使って.NET Frameworkから.NET 6にしたいような場合ですが、ブランチではなくfork使って別のレポジトリでやることをお勧めします。SDKスタイルにするタイミングでプロジェクトスタイルやパッケージキャッシュの持ち方が変わるので、ブランチ切り替えてもうまくビルドできなくなります(というかデモの時それでかなり困った)。

松村さんと二人で登壇だったので、分担決めてお互い録画、私が主に編集していました。最初はWCFのCIもあったのですが時間の都合で削りました。40分のセッションなのに90分くらいになって大幅に削らざるを得なくて…。私のところは6回くらい撮り直しています。むちゃくちゃ編集したのですが、もうちょっと繋ぎを上手くできたらなぁと反省。結局30秒くらい足が出ただけですみました。

夜の部は実際に自分で困った話でした。現代のOSはデフォルトで更新するので、「ある日再起動したらWindows 11だった」ということが日常で起きますが、CIもたまにはやっておかないとlatestは定期的に切り替わっていますし、hosted agentの中身もしばしば変わっています。

ずーっと放置ではなくて、デプロイしなくてもビルドは定期的にしましょうというお話しでした。

久しぶりの開発者イベントでしたが、裏に控えていたので、自分のトラック以外は見てないので公開されたら見ようと思います。来場ありがとうございました!

Azure DevOps 2022/1/19の更新

2022年最初のAzure DevOpsリリースノートの翻訳を行いました。オリジナルはこちらからご覧ください。

docs.microsoft.com

年始だからということもあるのか、Microsoft hostedエージェントのlatestがwindows-2019からwindows-2022に変更されます。3月までかけてゆっくり更新していくそうなので、ビルドごとに違うエージェントにあたるのかもしれません。

最大の違いは入っているVisual Studioが2022か2019かということです。大体大丈夫なのですが、.NET Frameworkとか若干入っているものが違います。

  • .NET Framework 4.6.1とか4.5.1とかのEOLになったもの
  • .NET Core 2.1.x
  • Visual Studio 2010ランタイム

私もDeveloper Daysの収録するとき最初windows-2022のイメージ使おうとしてビルドでこけたのであれ?と思って調べたら.NET Framework 4.6.1 TargetingPackがwindows-2022に入っていないことに気付いたという…。なので、今後しばらくは「何もしてないのにビルドが壊れた」ということが起きやすいので、明示的にwindows-2019を指定するようにしましょう。

Pipelineフォルダーのリネームに「その配下に一つ以上権限があるパイプラインが含まれること」という条件が追加されました。たぶんほとんど大丈夫だと思いますが気を付けてください。ではまた三週間後。

Translate to Japanese to Azure DevOps release not…

作れてはいけない人がAzure DevOps organizationを作れてしまう

Azure ADで運用しているAzure DevOps organizationを作ろうとしてちょっとはまってしまいました。前提条件

  1. Azure AD B2Bでテナントにゲスト参加している
  2. そのテナント内にあるAzure Subscriptionの所有者権限を持っている(つまり自由にAzureリソースが作れる)

本来であればAzure DevOps Adminロールを持っていないと作れないはずですが、なぜかB2Bユーザーでもorganizationが作れてしまいます。そしてB2Bユーザーはデフォルトでorganizationへの参加ができません(詰んだ)。

docs.microsoft.com

所有者が退職してIDが無効になったなどの場合であれば、Azure DevOps Adminロールを割り当てれば強制的に新しい所有者にできるのですが、今回の場合、IDそのものは有効なのでできません。もちろんゲストテナントからB2Bユーザーを追い出せばこの方法でもいいのですが、すでに結構なリソースを作っていたので…。

docs.microsoft.com

結局Azureサポートに依頼して、所有者をB2Bユーザーからテナントのユーザーに変更してもらって無事にアクセスできました。完全に新規のorganizationであってもAzureサポートでは削除できないといわれました。

developercommunity.visualstudio.com

※ Azure DevOps Adminロール持ってない人が作成できるのバグじゃないかなぁ(そのために作ったはずなんだけど)ということで、報告。