.NET6でPublishSingleFileしたらVisual Studioでエラーが発生した(2022年5月19日時点)

Visual Studio 2022でコンソールアプリを作成中に以下のようなエラーに出くわしました。

CoreCLR にアタッチできません。操作はサポートされていません。不明なエラー: 0x80004005。

所見では意味不明でしたが色々調べていたら以下のようなGitHub Issueに出くわしました。

github.com

私のコンソールアプリプロジェクトでは確かに以下のような記述がされていました。

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <ImplicitUsings>enable</ImplicitUsings>
    <Nullable>enable</Nullable>
    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
    <PublishSingleFile>true</PublishSingleFile>
    <PublishReadyToRun>true</PublishReadyToRun>
    <PublishTrimmed>true</PublishTrimmed>
    <CopyLocalLockFileAssemblies>true</CopyLocalLockFileAssemblies>
  </PropertyGroup>

どうやらデバッグ実行時にPublishSingleFileされるとうまくVisual Studioがプロセスにアタッチ出来ないようです。

現状回避策として以下のようにReleaseビルドの時だけPublishSingleFileされるようにすることでデバッグ実行出来るようになるようです。

<PublishSingleFile Condition="'$(Configuration)' == 'Release'">true</PublishSingleFile>

Issueも立っているので今後のアップデートで改善されることに期待しましょう!