Я пытаюсь упаковать устаревший проект C ++ с CoApp. Проект требует, чтобы распространяемые .dll из пакета были скопированы в подкаталог $ (TargetDir).
Я вижу следующее в сгенерированном файле MyProj.redist.targets:
<Target Name="MyProj_redist_AfterBuild" AfterTargets="AfterBuild">
<Copy SourceFiles="$(MSBuildThisFileDirectory)../..//build/native/bin/MyProjFoo.dll" DestinationFolder="$(TargetDir)" SkipUnchangedFiles="true" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)../..//build/native/bin/MyProjBar.dll" DestinationFolder="$(TargetDir)" SkipUnchangedFiles="true" />
</Target>
Мне нужно, чтобы это было:
<Target Name="MyProj_redist_AfterBuild" AfterTargets="AfterBuild">
<Copy SourceFiles="$(MSBuildThisFileDirectory)../..//build/native/bin/MyProjFoo.dll" DestinationFolder="$(TargetDir)\MyProj" SkipUnchangedFiles="true" />
<Copy SourceFiles="$(MSBuildThisFileDirectory)../..//build/native/bin/MyProjBar.dll" DestinationFolder="$(TargetDir)\MyProj" SkipUnchangedFiles="true" />
</Target>
Как мне сделать это в файле .autopkg?
Я попытался изменить правило бина, чтобы использовать:
# add-folder: :: nuget. [redist] target. [$ {условие}]. CopyToOutput;
Я нашел ответ в списке проблем CoApp. Функция для этого была добавлена, но онлайн-документация не была обновлена. Увидеть: Выпуск 27 на CoApp в github
Других решений пока нет …