前提
C#のラッパーにC++のライブラリをコンテンツファイルとして含ませようとしています。
実現したいこと
- 直接の依存関係ではないNugetPackageにあるPackageCopyToOutputがTrueのものを出力フォルダにコピーしたい
確認したいこと
- 直接の依存関係ではないNugetPackageにあるコンテンツファイルの継承はできないか
上記が難しい場合
- 参照したNugetPackageのバージョンを変数のような形で記載できないか
- NugetPackageにあるコンテンツファイル以外のファイルの参照ができないか
実施したこと及び問題点
まず、以下を参考にして実施
https://kuttsun.blogspot.com/2020/10/dll-nuget.html
上記を実施したことで直接関与するもの(Nugetで参照追加したもの)に関しては出力フォルダにライブラリがコピーされることは確認できています。
ただ、LibA→LibB→EXE という形で依存関係を構築し、各NugetPackageを作ってみると、EXEの出力ファイルにはライブラリがコピーされません。(EXEが参照するのはLibBのNugetPackageのみ)
これらに対して、NugetのIssueとして以下が上がっているのは確認し、最後のコメントにある方法で実現するところまでは確認しています。(概要欄にある対処法およびサンプルプログラムでは動作しませんでした。)
https://github.com/NuGet/Home/issues/9879
ただ、上記の最後のコメントである通り、ライブラリのバージョンが上がった場合に追従して記載を変更せねばならずミスが発生しやすくなります。
なんらかもう少し手順が減ったりしないものかと思い質問させていただきました。
補足情報(FW/ツールのバージョンなど)
VisualStudio:2022
TargetFramework:.Net6および.Net Framework 4.8
あなたの回答
tips
プレビュー