rksoftware

Visual Studio とか C# とかが好きです

Visual Studio の 16.6.1 がリリースされました

Visual Studio のアップデート 16.6.1 がリリースされました。

やはりアップデート頻度が落ちているような気もしますね。今回はそれほど(頻繁にクラッシュする問題を踏んでいなければ)致命的な問題も無いようで、それほどあわてなくても良さそうですが、せっかくなので早めにアップデートしておきましょう。

■ 更新内容

追加機能

  • Xcode 11.5 SDK サポートを追加

問題の解決

今回は

  • iOS デバイスにホットリスタートでアプリをデプロイする時にエラーが発生し失敗することがある
  • Xamarin.iOS が リリースビルド時に MessagingRemoteException でビルドに失敗する
  • Android リソースに非アスキー文字が含まれていると、XML パースエラーとなりビルドに失敗する
  • Xamarin.Android で .resx ファイルを使用したローカライゼーションが機能しない
  • WMI Provider component のインストールに失敗する
  • Visual Studio を閉じるときにクラッシュする
  • その他 C++ 関連

という問題が対策されています。

C++ 関連の中身は私には理解できませんでした。

それと、

  • Removes abstract modifier to BGTask

も私には難しかったです。

なるべく早くアップデート

セキュリティの内容はないのであわてることは無いかもしれませんが、踏んだら困る問題もあるのでなるべく早くアップデートしておきましょう。

■ 更新方法

Visual Studio の更新はメニューの ツール > ツールと機能を取得 で開くインストーラーから行えます。

オンラインで C# もくもく会を開催しています

オンラインでもくもく会を開催しています。
長く続くリモートワークで自己研鑽のリズムや曜日感覚を失いかけている方もいると思います。そこで、オンラインもくもく会です。

私は普段から鍛えているので曜日感覚は完璧ですが、リズムは完全に失っていました。しかし、このイベントに参加して症状がいくらか改善しました。

■ C# Tokyo コミュニティ

イベントは connpass の C# Tokyo コミュニティにて行っています。

C# Tokyo コミュニティは C# エンジニアのコミュニティです。C# エンジニア向けのオフラインイベントを主に東京で開催してきましたが、今後はオンラインイベントについても積極的に企画していきたいと考えています。

■ イベント概要

Slack (テキストチャット) で繋がりながら、参加者各自の作業スペースで各自もくもくとコーディングや情報収集、読書などを行います。
同じ会に参加している感を出すために、次のことを行っています。

  • 開始時に一言、「今日何をしようと思っているか」 を発言する
  • 終了前に一言、「今日の成果」 を発言する
  • もくもくと題していますが開催中の積極的な発言は歓迎です

■ イベント

これまでにのべ 44 名の、皆さんに参加いただいています。

■ 成果発表(例) 私の分

私は、イベントに参加したことで数々の進捗を出してきました。進捗の出せるエンジニアなので。
見てください。前述の数々の輝かしい進捗を。

  • 終電までに定時退社する
  • 買ったのに読んでいなかった技術書を思い出し読む決意をする(まだ読んでいない)
  • 購入したガジェットの記事をブログ執筆する(複数回)
  • 以前から書きたかったブログ記事の前提知識に関するブログ執筆する(その後書きたかった記事も書けた)
  • Teams を完全に理解する
  • Uno Platform の記事を読む
  • Uno Platform のプロジェクトを作っては消し作っては消しする
  • GitHub に公開している入門手順書(ハンズオン)を更新する
  • Microsoft Build 2020 で発表されたもののブログ 3 記事を読む

今後の開催について

今後も少なくとも IT の世界ではリモートが続いて行くと思います。イベントも今後も継続して行こうと考えています。

Uno Platform の世界にあいさつする系のアレを(微妙に)更新しました

以前にタイミングが有って Uno Platform で世界にあいさつする手順を作りました。

最近の騒動で眠っていたのですが、そろそろ出番かと思って少しだけ更新しました。

色々なコードを試したのですが、リストの動きが一部のプラットフォームで違ってしまい、なんとかなるべく近くなる様にしていたのですが、改めてみたらやっぱりあまり同じになっていなかったので、シンプルな実装にしてみました。

急造だった手順なので流れも性急なところもありますが、ひとまず世界に挨拶できるのではないかと思います。

出番は検討中です。

PC が足りない! 古い Windows 10 マシンをアップデートして使おう

皆さん、何気に PC の特に Windows の必要な台数がこの時期増えた方もいらっしゃるのではないでしょうか?
特にスペックはそれほどいらないけど、セキュアなマシンが必要という要件、あると思います。

そんな時は、どのご家庭にも複数ある、眠っている古いマシンを再生しましょう!

私の手元には 3 年使っていなかったらしいマシンが有ったので、OS を Update してみました。このくらい古くなると、同じ Windows 10 と言ってもこのバージョンの Windows 10 はサポートはもうなく Windows Update で更新ができません。

サイトからアップデート用のツールをダウンロード

Windows 10 のダウンロードサイトからツールをダウンロードして実行するだけです。簡単ですね。

ライセンスの有る Windows 10 環境で実行すると普通に最新バージョンになりました。(現在のバージョンは話題の 2004)

最大の難関

前述のサイトにたどり着くのも簡単ではないかもしれませんが、最大の難関は、クリックするリンクです。

「今すぐアップデート」ではなく「ツールを今すぐダウンロード」です。ダウンロードした .exe を実行すれば任務完了です。

もし上の「今すぐアップデート」だと

「今すぐアップデート」でダウンロードされる .exe でもアップデートは進みそうになります。というか実際、処理は進んで再起動後、更新処理に入ります。そこで「失敗した」となって、元に戻していますで自動で元に戻りアップデートできませんでした。

まとめ

本当に最近、PC が何台あっても足りないですよね

ポエム 意外とリモートを継続するところが多いらしい

体感ですが今現在、東京の満員電車は復活しつつあるように思えます。
※路線や時間さらには車両にもよります。

そして、世の中の情報ではリモートの普及を「前に進んだ」という認識で語られたものを多く見ます。「前に進んだ」というのはもともと、都心の混雑解消のためにもリモートが推奨されながらも全くと言っていいほど普及していなかったという前提はあると思います。

そういえば、鉄道で行われているリモートのお願いに対して「乗客である社員でなく会社に言え!」という意見を多く見かけていましたね。

本題です。
ふとしたきっかけで Twitter でアンケートを投稿したら、リモートを継続みこみが半数近くて感動したので書き残しておきます。やればできるじゃないですか。みなおしました。

全体として終了する見込みが半数を超えるのに継続するより終了するの方が少なく、継続すると事は宣言しているが終了するところは明言していない様子がみられます。そんな中でも回答は終了すると思うが最も多く、先のことに言及はないが終了するはずという所属に対する熱い信頼が読み取れます。

「言わなくても終了だとわかっているよね?」「はい、言われなくても終了だとわかっています」

阿吽の呼吸というやつでしょうか? うつくしいですね。

そんな信頼でつながった美しい関係はともかく、半数近くがリモートを継続するなら今後都心もスカスカの電車で通勤できることになって捗りそうですね。

Uno Platform が VSCode でデバッグできるらしいので試してみた 目次

Uno Platform が VSCode でデバッグできるらしいので試してみています。
ちょっと横道にそれたりなどしながら見ているのでまだ全然進んでいませんが少しずつ見て行きます。
Uno Platform 本家の記事へのリンクです。

■ Uno Platform が VSCode でデバッグできるらしいので試してみた その1

■ Uno Platform が VSCode でデバッグできるらしいので試してみた その2

■ Uno Platform が VSCode でデバッグできるらしいので試してみた その3

Uno Platform が VSCode でデバッグできるらしいので試してみた その3

つづき

前回まででひとまずプロジェクト (ソリューション) が生まれたので実行して行きたいと思います。まずは、今回の元記事の本体である、Visual Studio Code での Wasm。Windows で行ってみます。

■ ソリューションを VSCode で開く (Windows)

  1. コマンドプロンプトなどで .sln ファイルの有るディレクトリへ移動します。
  2. 次のコマンドを実行します。これで現在のディレクトリが Visual Studio Code で開かれます。
code .
  1. おもむろにデバッグ実行します。
  2. 待ちます。
  3. デバッグコンソールにワーニングが流れます。エラーで止まったかと勘違いしがちな表示ですが、ワーニングなので待ちます。待ちます。
  4. 待ちます。
  5. 待ちます。待ちます。
  6. Now listening on: http://localhost:5000 などと表示されたら完成です。
  7. http://localhost:5000 をブラウザで開きます。

おめでとうございます!
ブラウザに「Hello、 World!」と表示されたら成功です。

素晴らしいですね。

ちなみに VSCode で動かせるのは Wasm だけです。

■ ソリューションを VSCode で開く (Mac)

Mac も Windows と同じ手順です。ソリューションを VSCode で開いておもむろにデバッグ実行!

そして次の表示!

ビルドに失敗しました。ビルド エラーを修正して、もう一度実行してください。

実行できませんでした...

■ ソリューションを Visual Studio で開く (Windows)

ソリューションなので、Visual Studio で開けます。プロジェクトとしてもいろいろ生まれていますし、Visual Studio で開いて動いたら嬉しいですよね?

次のプロジェクトは普通にデバッグ実行できました。

  • Android
  • UWP
  • Wasm

次のプロジェクトは (Windows 環境なので当然) 動きませんでした。Mac にリモート接続して、というのは可能かもしれませんが今回は試していません。

ちなみに皆が気になる macOS プロジェクトはデバッグ実行ボタンは押せるのですが、

System.IO.FileNotFoundException: 'ファイルまたはアセンブリ 'Xamarin.Mac, Version=0.0.0.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXXXXXX'、またはその依存関係の 1 つが読み込めませんでした。指定されたファイルが見つかりません。'

という無情なエラーとともに失敗します。悲しいですね

■ ソリューションを Visual Studio for Mac で開く (Mac)

  • Android 実行ターゲット (エミュレータや実機など) の選択肢が一切出てこず実行不可

  • iOS 選択できない。選択肢から iOS プロジェクトを選んでも、選択が変わらず実行不可

  • macOS

アプリケーションがビルドされていません。

とメッセージダイアログで表示されて失敗し実行不可。悲しいですね。

  • Wasm 2件のビルドエラーが表示されて実行不可

悲しいですね。

少しだけ対策

実は

dotnet new unoapp -o MyApp --vscodeWasm

で生まれたソリューションファイル (.sln) はプロジェクトの GUID 大きくが正しくない状態でした。ならば

  1. Visual Studio でソリューションを開く
  2. プロジェクトをすべて削除
  3. 既存のプロジェクトの追加でソリューションに追加しなおす
  4. 各プロジェクトから共有プロジェクトへの参照を設定しなおす

が対策になりそうです。というわけでやってみます。 (※ Mac ではプロジェクトを全て追加することができませんでした。最後の一個を追加すると別のプロジェクトが (.sln から) 居なくなります。なぜ...)

やってみる

やってみると、macOS プロジェクトで参照の追加に共有プロジェクトが出てきませんでした。なぜ... (※ Visual Studip for Mac で追加できました)

実行

次のプロジェクトは普通にデバッグ実行できました。

  • Android
  • iOS

期待の macOS は

System.IO.FileNotFoundException: Could not load the file 'Uno.Wasm.WebSockets'.

というエラーで失敗します。悲しいですね。

UWP は当然働きません。実行の対象プロジェクトとしも選べません。

そして Wasm はビルドエラー。2 件のエラーで動きません。悲しいですね。

■ まとめ

Windows はいい感じ。Mac はあまり動きませんでした。
※ Uno Platform は一日に 3 回とかのペースで更新されています。現在は状況が異なるかもしれません。

まとめよみのための目次