Копировать ссылочные сборки в подкаталог выходного каталога - PullRequest
0 голосов
/ 17 мая 2018

Установив для параметра «Копировать локальный» значение true в окне свойств VS2017 для ссылки .net, вы можете указать процессу сборки скопировать указанную сборку в выходной каталог вашего проекта.Но что, если вы хотите, чтобы сборка была скопирована в определенный подкаталог выходного каталога (который будет добавлен в список путей поиска с помощью параметра app.config)?Есть ли способ сделать это, кроме использования командного файла на этапе после сборки?

1 Ответ

0 голосов
/ 22 мая 2018

Единственный способ, которым я придумал, чтобы сделать эту работу:

  1. Установите для параметра "Копировать локально" значение false для рассматриваемой ссылки (ей)
  2. Отдельно добавить указанные файлы сборок в проект в качестве содержимого (см. Ниже)
  3. Большой недостаток: если какая-либо ссылочная сборка имеет свои собственные ссылки, их (и их собственные ссылки и т. Д.) Необходимо будет добавить в качестве содержимого таким же образом. И если какой-либо из списков ссылок этих сборок изменится, вам необходимо обновить ваш проект.

В .vcxproj:

<ItemGroup> <!-- you probably already have an ItemGroup you can use -->
   <Content Include='subdir\referenced.dll'>
      <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
   </Content>
</ItemGroup>

Обратите внимание, что если вам нужно, чтобы структура каталогов в выходных данных отличалась от исходной, вам нужно немного подкорректировать, как описано в этот ответ :

<ContentWithTargetPath Include="source_dir\referenced.dll">
  <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  <TargetPath>dest_dir\referenced.dll</TargetPath>
</ContentWithTargetPath>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...