もう夏至だし初夏といっても過言ではないということでVisual Studio 2022 Preview 1がでました。突然でしたね。
- Visual Studio 2022 Preview 1 now available! | Visual Studio Blog
- Visual Studio 2022 プレビュー (microsoft.com)
- Visual Studio 2022 (Preview 1) がダウンロード可能になりました – Qiita (ういこさんの意訳)
Visual Studio初の64ビット版です。またPreview版なのでこれまでのPreview版と同じようにリリース版と別チャンネルでいっしょにインストールして共存させることができます。(※Visual Studio 2022 Preview 1は .NET 6 Preview 5含んでるので注意)
Preview 1の主目的はVisual Studioそのものの64ビット化です。Visual Studio 2019で動作してた一部機能などはPreview 1には含まれません。まだまだ作業中という感じですね。細かい話はリリースノート(Visual Studio 2022 Preview Release Notes | Microsoft Docs)をどうぞ。
なおPreview 1はGo-Liveじゃないので注意しましょう。
- 動作要件:Visual Studio 2022 System Requirements | Microsoft Docs
- 現状32ビットとARMなOSは対象外。64ビットなWindows 10 1909以上かWindows Server 2016/2019な64ビットOSがサポート。
- .NET Framework 4.8が必要。
- ライセンス:https://visualstudio.microsoft.com/license-terms/vs2022-prerelease/
- 既知の問題やフィードバックなどはこちら:Visual Studio Feedback
- プロジェクトなどのターゲットに関する互換はこちら:Visual Studio 2022 Compatibility | Microsoft Docs
- 再配布:Visual Studio 2022 Redistribution Statement | Microsoft Docs
- 「Visual Studio 2022 version 17.0 Preview 1 is available solely for evaluation purposes. You may not distribute any files included with, or any applications developed by using, the software, except for internal evaluation.」
- Go-liveではないので作ったアプリとかの再配布不可です。
Visual Studio for Macについては今準備中らしいです。こちらも楽しみですね。※ 64ビットになったけどベースがまだ .NET Framework v4なのでWindows以外での動作や統合はまだまだ先の話。。。
でもロードされてるアセンブリはx64ですね。インストールパスもProgram Files (x86) じゃないのでなんだか感慨深い。
Preview Features
いくつかの機能はOpt-inな感じで有効化してあげる必要があります。
機能面だとすぐに違いがわかるのはIntelliCodeとかですかね? とりあえず何かキー推したりすると推測して出してくるぐらいの印象。
WriteLineしたら次はReadLineするよな?とか SizeX プロパティ追加したら次はSizeYだよな?とか。
分かりやすいのだと新しいDarkテーマとか、Iconとかでしょうか。(IconはUIなどに使われるIconが新しいVS Servicesのになってます)
プロジェクトのプロパティページも新しいUIのに更新できるようす。
拡張機能について
Visual Studio 2022 Preview 1から64ビットになったので、拡張機能もそちらにあわせていろいろアップデートしてあげる必要があります。(最低限マニフェストあたりはちゃんとしないといけない)
少なくともVisual Studio 2022をターゲットにしたマニフェストをビルドするには NuGet Gallery | Microsoft.VSSDK.BuildTools 17.0.1619-preview1 が必要になるのとUIが対応してないのでXMLファイル直接編集する必要があります。
もし拡張機能のビルドをx86で行ってた場合はAnyかx64版にする必要があります。まぁ細かいのはドキュメントを見てもらうとして。vsixmanifestはこんな感じでアーキテクチャを明記します(x86 か amd64)
<Installation>
<InstallationTarget Id=”Microsoft.VisualStudio.Community” Version=”[15.0,17.0)”>
<ProductArchitecture>x86</ProductArchitecture>
</InstallationTarget>
<InstallationTarget Id=”Microsoft.VisualStudio.Community” Version=”[17.0,18.0)”>
<ProductArchitecture>amd64</ProductArchitecture>
</InstallationTarget>
</Installation>
ProductArchitecture要素が古いVSSDK BuildToolsだと対応してない感じです。あとはサポートバージョンをちゃんと17.0含めるようにするとかですね。上記の場合、2017~2019はx86で、2022はamd64でサポートするという感じです。
という感じであれこれ頑張れば両バージョン対応のパッケージが作れます。
ClaudiaIDE もVisual Studio 2022対応したのでよかったらどうぞ。もともとVisual Studio 2012あたりから作り始めていまだにPackage.Config使ってたり酷かったのでだいぶ泣きながら綺麗にしました。。あとVisual Studio 2017サポートも入れようとしたけどこのあたりの依存関係がどうしても解決できなくてあきらめ。。。VSSDKとかをv15用にするとアセンブリが無いとか言われてしまう。。