Я пытаюсь собрать нюгет таким образом, чтобы ссылающийся на него проект при билде мог себе в аутпут сложить некоторый контент. По разным источникам из гитхабов использовал в .nuspec файле:
<contentFiles>
<files include="**/content/*.*" buildAction="copyToOutput" />
<files include="**/content2/*.*" buildAction="EmbeddedResource" />
<files include="**/content3/*.*" buildAction="Content" />
<files include="**/content4/*.*" />
<files include="**/content5/*.*" buildAction="None" flatten="false" copyToOutput="true" />
</contentFiles>
в .nupkg архиве все папки со своим контентом кладутся в contentFiles/any/any (по команде nuget.exe pack). Но при билде целевого проекта в бинах только стаф самого проекта, без контент-файлов.
P.S. Также создал .nuspec файл на пустой библиотеке с контентом через dotnet pack, включая в проект:
<ItemGroup>
<Content Include="Libcontent.txt" >
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
</ItemGroup>
Libcontent.txt появляется и в бинах либы, и в nupkg файле либы, в .nuspec (внутри .nupgk) прописано как
<contentFiles>
<files include="any/net6.0/Libcontent.txt" buildAction="Content" />
</contentFiles>
но всё равно при билде целевого проекта, в целевых бинах лежит только сама dll от либы, без контент файла.
кто-нибудь сталкивался?
https://docs.microsoft.com/en-us/nuget/reference/msbuild-targets#advanced-extension-points-to-create-customized-package
Спасибо, интересная статья, изучу
Обсуждают сегодня