Сгладить включенные файлы в выводе проекта msbuild - PullRequest
0 голосов
/ 29 мая 2019

У меня есть проект MSBuild, использующий новый формат проекта .Net SDK.

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

Т.е.

Solution\
  Lib\
    lib1\
      file1.dll
      file2.dll
  lib2\
      file3.dll
      file3.dll
  Project\
     project.csproj

Я хочу, чтобы вся структура в \Lib была представлена ​​в моем проекте в Visual Studio.Я могу сделать это с помощью следующего:

<ItemGroup>
  <None Include="$(SolutionDir)\Lib\**\*">
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </None>
</ItemGroup>

Проблема в том, что выходной каталог содержит ту же структуру папок.Я хотел бы, чтобы все распакованные файлы просто существовали в моем каталоге \bin вместо \bin\lib1\file1.dll, \bin\lib2\file3.dll и т. Д.

Есть ли способ справиться с этим в файле проекта?

1 Ответ

0 голосов
/ 30 мая 2019

Вы должны иметь возможность изменить его на

<None Include="$(SolutionDir)\Lib\**\*" TargetPath="%(Filename)%(Extension)" CopyToOutputDirectory="PreserveNewest" />

Обновленный целевой путь больше не будет содержать подкаталоги.

...