Livet を新しい csproj 形式に移行した後に苦労したのが、Windows API Code Pack の dll を LivetExtensions のパッケージに含めたいというものでした。
わかってしまえば簡単で、dll をプロジェクトに含めて Pack="true" PackagePath="lib\net452"
の属性でパッケージに含めることと、含める先のパスを指定する感じでした。
公式ドキュメント内での記述はみつけられませんでしたが、以下のドキュメント内でライセンスファイルを含めるという部分で同じようなことをしてます。
知ったきっかけ
Prism.Wpf が Blend SDK が手に入りにくくなった昨今、どうやってるのか確認したら、この方法でやってました。該当部分はここ。
Prism/Prism.Wpf.csproj at fdf163566601057f6d3c2c47b08f462de62fec48 · PrismLibrary/Prism · GitHub
ということで、Livet でも同じように対応しました。
<ItemGroup> <Content Include="..\ReferenceAssemblies\Microsoft.WindowsAPICodePack.dll" Pack="true" PackagePath="lib\net452" /> <Content Include="..\ReferenceAssemblies\Microsoft.WindowsAPICodePack.Shell.dll" Pack="true" PackagePath="lib\net452"/> <Content Include="..\ReferenceAssemblies\Microsoft.WindowsAPICodePack.dll" Pack="true" PackagePath="lib\netcoreapp3.0" /> <Content Include="..\ReferenceAssemblies\Microsoft.WindowsAPICodePack.Shell.dll" Pack="true" PackagePath="lib\netcoreapp3.0"/> </ItemGroup>