Один файл nuget.target, выполненный из файла нескольких целей
Мы настроили внутренний сервер nuget. При настройке у нас есть несколько пакетов с файлом.targets, который копирует некоторые dll в выходную папку.
Когда мы используем эти пакеты, кажется, что только последний файл nuget.target (последний добавленный пакет) выполняет и копирует файлы в выходную папку.
Не могу понять, почему другие не будут казнены.
Любое предложение?
РЕДАКТИРОВАТЬ:
Проблема возникает только во время настройки отладки.
Код ниже в файле csproj...
<Import Project="..\..\..\packages\Package2.1.0.3504\build\Package2.targets" Condition="Exists('..\..\..\packages\Package2.1.0.3504\build\Package2.targets')" />
Nusepc файл:
<file src="buildTargets\Pack1.targets" target="build\Pack1.targets" />
<file src="dlls\external\x64\Pack1Proj\Pack1.dll" target="runtimes\x64\lib\net451\Pack1.dll" />
Целевой файл:
<Target Name="AfterBuild" >
<Exec Command="xcopy /Y "$(MSBuildThisFileDirectory)..\runtimes\x86\lib\net451" "$(TargetDir)"" />
</Target>
1 ответ
Цели с одинаковыми именами перезаписывают друг друга. Так что если у вас есть несколько
<Target Name="AfterBuild">
будет запущен только один - последний импортированный. По факту, AfterBuild
является пустой целью, определенной в общих целях, которая должна быть перезаписана.
Чтобы сделать ваши цели совместимыми, используйте разные методы для подключения к этому шагу сборки:
<Target Name="Package1AfterBuild" AfterTargets="AfterBuild">