.net Core 3.1 は まだ早かったのかな… その3
【.net Core 3.1 の NLogではまった… そのX】 で、「単一ファイルの作成」 で作ったEXEファイルを作りました! が…いつの間にか「単一ファイルの作成」で「発行」を行うと、正常に作成されない(エラーが発生するようになってしまいました) なぜ…? エラー内容: 「Invalid input specification: Found multiple entries with the same BundleRelativePath」 検索した結果下記URLがヒットしました。 https://github.com/microsoft/vcrt-forwarders/issues/8 で、内容の最初に、「下記URLに移動せよ」と記載があるので移動します。 https://github.com/dotnet/runtime/issues/3735 で、このURL内に答えがありました。【NLog.Config の場合限定ですが!】 <PackageReference Include="NLog.Config" Version="4.6.8"> <ExcludeAssets>all</ExcludeAssets> </PackageReference> 分かる限りでは【.nuget で取得したDLL参照を1つのEXEにまとめる場合、DLL参照が重複してしまうらしく、作成できない】との事でした。 なので、「ExcludeAssets」タグを追加することで対象外?に設定するようです。 NLog を使ってさらにNLog.Config も参照追加すると発生するようです。 てなわけで、単一EXEにする場合に上記エラーメッセージが出た場合は、「ExcludeAssets」タグを追加してみることをお勧めします。 ただ、どれに付けて良いのかわからないので、DLL参照追加したら、毎回「発行」をして確認する事をお勧めします… 検索用:.net Core 3.1 単一ファイルの作成 エラー