我从 ASP.NET Core Web 应用程序 -> Angular SPA 开始,但我已将 Angular 应用程序移至 csproj 之外的单独存储库。
所以我的文件夹结构如下所示:
frontend
dist
backend
wwwroot
backend.csproj
现在我想修改 csproj 以便发布副本frontend/dist/**/*.*
到$(outputDirecory)/ClientApp/dist/**/*.*
我应该如何修改 PublishRunWebpack 目标以复制这些文件:
<PropertyGroup>
<SpaRoot>../Frontend</SpaRoot>
</PropertyGroup>
<Target Name="PublishRunWebpack" AfterTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec WorkingDirectory="$(SpaRoot)" Command="npm install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build -- --prod" />
<Exec WorkingDirectory="$(SpaRoot)" Command="npm run build:ssr -- --prod" Condition=" '$(BuildServerSideRenderer)' == 'true' " />
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
<DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<!-- Include the newly-built files in the publish output -->
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<!-- THIS NEEDS TO BE CHANGED (I guess) -->
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
</ResolvedFileToPublish>
</ItemGroup>
</Target>