У меня есть приложение .NET Core (Razor Pages) и другое приложение VueJS внутри папки ClientApp. Публикация скомпилированного SPA осуществляется с помощью известного сниппета, который можно найти в Интернете:
<Target Name="PublishClientApp" AfterTargets="ComputeFilesToPublish">
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build" />
<ItemGroup>
<DistFiles Include="$(SpaRoot)\dist\**" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>
Однако SPA публикуется в папке ClientApp/dist (отражая структуру решения). Я хотел бы опубликовать его в приложении/папке, но не знаю, как изменить эту задачу msbuild. Я предполагаю, что в этом фрагменте что-то есть - @(DistFiles-›'%(FullPath)'), но попытка его настроить не дала никакого результата.
Solution Structure Published Folder Desired Structure
\ \ \
- ClientApp - ClientApp - app ( <- dist folder content here )
- dist - dist