winget で Visual Studio 2022 のバージョンをダウングレードする方法
こんにちは、 Makky です。
Visual Studio 2022 のバージョンを 17.6.4
に上げた後から、立ち上げるとすぐクラッシュするようになりました。
Description: A .NET application failed.
Application: ServiceHub.RoslynCodeAnalysisService.exe
Path: C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\ServiceHub\Hosts\ServiceHub.Host.Dotnet.x64\ServiceHub.RoslynCodeAnalysisService.exe
Message: Failed to read environment variable [DOTNET_STARTUP_HOOKS], HRESULT: 0x800700CB
これについて調べてみると、同じような問題が発生していることが分かりました。
17.6.0 Preview 5.0 は、MVC ネットワークフレームワークから net8 への変換プロジェクトをロードしようとするとクラッシュします。
説明: .NET アプリケーションが失敗しました。 アプリケーション: ServiceHub.Host.dotnet.x64.exe パス: C:\Program Files\Microsoft Visual Studio\2022\Preview\Common7\ServiceHub\Hosts\ServiceHub.Host.Dotnet.x64\ServiceHub.Host.dotnet.x64.exe メッセージ: 環境変数 [DOTNET_STARTUP_HOOKS] の読み取りに失敗しました、HRESULT: 0x800700CB Developer Community
しかし、記事を執筆した時点での Microsoft からの回答は「現在調査中」とのこと。
This issue is currently being investigated. Our team will get back to you if either more information is needed, a workaround is available, or the issue is resolved. Microsoft からの回答
社内で確認すると、バージョン 17.5
台を使用している方は正常に動作していました。
そこで、今回は 正常に動作しているバージョンに Visual Studio 2022 をダウングレードする方法を紹介します。
想定環境
- Windows 11
- winget : v1.5.1572
- Visual Studio 2022 : v17.6台
当記事では winget
をインストールしていることが前提となっています。 winget
をインストールしていない方は、まずはwinget をインストールされていない方へを参考にインストールしてください。
ダウングレードの手順
1. インストールされているバージョンを取得する
以下のコマンドで現在インストールされているバージョンを取得します。
$ winget list Microsoft.VisualStudio.2022.Community
バージョンと書いてある場所には、現在インストールされているバージョンが記載されています。
利用可能と書いてある場所は、インストール可能な最新のバージョンが記載されています。
$ winget list Microsoft.VisualStudio.2022.Community名前 ID バージョン 利用可能 ソース
---------------------------------------------------------------------------------------------
Visual Studio Community 2022 Microsoft.VisualStudio.2022.Community 17.5.5 17.6.5 winget
2. インストール可能なバージョンの一覧を表示する
ダウングレードの前に、以下のコマンドでインストール可能なバージョンを確認しておきます。
$ winget show Microsoft.VisualStudio.2022.Community --versions
正常に実行できると、インストール可能なバージョンが出力されます。
当記事では、バージョン 17.5.5
にダウングレードするため、バージョン 17.5.5
がインストール可能であることを確認します。
$ winget show Microsoft.VisualStudio.2022.Community --versions見つかりました Visual Studio Community 2022 [Microsoft.VisualStudio.2022.Community]
バージョン
----------
17.6.5
17.6.4
17.6.3
17.6.2
17.6.1
17.6.0
17.5.517.5.4
17.5.3
17.5.2
17.5.0
17.4.5
17.4.4
3. Visual Studio 2022 をアンインストールする
ダウングレードをするために一度、アンインストールします。
PowerShell やコマンドプロンプトで以下のコマンドを実行してください。
$ winget uninstall --id Microsoft.VisualStudio.2022.Community
正常にアンインストールされると以下の結果が出ます。
$ winget uninstall --id Microsoft.VisualStudio.2022.Community見つかりました Visual Studio Community 2022 [XPDCFJDKLZJLP8]
パッケージのアンインストールを開始しています...
正常にアンインストールされました
4. 問題が発生していないバージョンの Visual Studio 2022 をインストールする
以下のコマンドで version
を指定して Visual Studio 2022 をインストールします。
version 17.5.5
で動作確認済みですので、17.5.5
を指定しています。
winget install --id Microsoft.VisualStudio.2022.Community --version 17.5.5
正常にインストールされると以下の結果が出ます。
$ winget install --id Microsoft.VisualStudio.2022.Community --version 17.5.5見つかりました Visual Studio Community 2022 [Microsoft.VisualStudio.2022.Community] version 17.5.5
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
ダウンロード中 https://download.visualstudio.microsoft.com/download/pr/7ac7457f-ba6e-4a12-ba2c-1adebad20070/f756de6bf2354a30cfb9cfa5836e2c7671e53645afe163a60c233dff0cd15849/vs_Community.exe
██████████████████████████████ 3.53 MB / 3.53 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました
これで完了です。お疲れさまでした。
winget をインストールされていない方へ
Windows Package Manager (winget) とは
Microsoft が開発している、コマンド1つでソフトのインストールやアンインストールができる便利なツールです。
バッチ処理も可能なので一括でインストールやアップグレードを行うことができます!
インストール方法
Microsoft Store で「アプリ インストーラー」と検索してインストールします。
PowerShell やコマンドプロンプトで以下のコマンドを実行してください。
$ winget -v
以下のようにバージョンが返ってきたら使用できるようになっています。
$ winget -v
v1.5.1572
あとがき
今回は winget を使ってダウングレードする方法を紹介しました。
ダウングレードをするついでに便利な winget を気に入っていただけると幸いです。
それではまた。