Ни один элемент в подкаталогах с Visible = "false" в пакете NuGet не показывает папки подкаталогов - PullRequest
0 голосов
/ 12 июня 2019

Я хочу добавить файлы данных (например, текстовые файлы) в пользовательский пакет NuGet, которые находятся в подкаталогах внутри пакета, и сохранить их в выходном каталоге.

Сначала у меня были эти файлы данных в файлах contentFiles, сохраненные в выходной каталог, но они отображались в обозревателе решений в Visual Studio, и мы не хотели этого.

Затем я поместил файлы данных в папку сборки в папках подкаталогов и использовал целевой файл для сохранения их в выходной каталог и установил Visible = "false", это работало хорошо, за исключением того, что подкаталоги включены в обозревателе решений, а не в реальных файлах, просто в подкаталогах. Затем я попытался поместить их в собственную папку внутри папки сборки, но в итоге получилось то же самое.

это мой файл nuspec

<metadata>
    <id>MyPackage</id>
    <version>1.0.0</version>
    <title></title>
    <authors>Me</authors>
    <owners>Me</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Description</description>
    <copyright>Copyright 2019</copyright>
  </metadata>
  <files>
    <file src="build\native\sub1\data.txt" target="build\native\sub2\data.txt" />
    <file src="build\native\sub2\data.txt" target="build\native\sub2\data.txt" />
<-- bunch of other files -->
  </files>

это файл моих целей

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <ItemGroup>
        <Content Include="$(MSBuildThisFileDirectory)*.dll" Visible="false">            
            <Link>%(FileName)%(Extension)</Link>
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </Content>
    </ItemGroup>
    <ItemGroup>
        <None Include="$(MSBuildThisFileDirectory)native/**" Visible="false">
            <Link>%(RecursiveDir)%(FileName)%(Extension)</Link>
            <CopyToOutputDirectory>Always</CopyToOutputDirectory>
        </None>
    </ItemGroup>
</Project>

Я хочу, чтобы это скрыло все о пакете NuGet и сохранило их в выходном каталоге, но папки «data1» и «data2» отображаются в моем обозревателе решений, но пустые, поэтому я знаю, что файл целей поражает их ,

В соответствии с этим, если я правильно понял, это может быть ошибка, https://github.com/dotnet/project-system/issues/1126, но я не уверен.

Я также могу пойти по этому пути совершенно неправильно, и если так, я открыт для любых возможностей.

...