.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 の場合限定ですが!】
分かる限りでは【.nuget で取得したDLL参照を1つのEXEにまとめる場合、DLL参照が重複してしまうらしく、作成できない】との事でした。
なので、「ExcludeAssets」タグを追加することで対象外?に設定するようです。
NLog を使ってさらにNLog.Config も参照追加すると発生するようです。
てなわけで、単一EXEにする場合に上記エラーメッセージが出た場合は、「ExcludeAssets」タグを追加してみることをお勧めします。
ただ、どれに付けて良いのかわからないので、DLL参照追加したら、毎回「発行」をして確認する事をお勧めします…
検索用:.net Core 3.1 単一ファイルの作成 エラー
が…いつの間にか「単一ファイルの作成」で「発行」を行うと、正常に作成されない(エラーが発生するようになってしまいました)
なぜ…?
エラー内容: 「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 単一ファイルの作成 エラー
コメント
コメントを投稿