以不同的名称发布 ClientApp\dist
Publish ClientApp\dist under different name
我在 ClientApp 文件夹下有一个 .NET Core 应用程序 (Razor Pages) 和另一个 VueJS 应用程序。发布已编译的 SPA 是使用您可以在整个 Internet 上找到的“著名”代码段完成的:
<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 文件夹下(镜像解决方案结构)。我想在 app/ 文件夹下发布它,但我不确定如何更改此 msbuild 任务。我的猜测是这个片段中有一些东西 - @(DistFiles->'%(FullPath)'),但尝试调整它并没有给我任何结果。
Solution Structure Published Folder Desired Structure
\ \ \
- ClientApp - ClientApp - app ( <- dist folder content here )
- dist - dist
您可以将生成的 ResolvedFileToPublish
项的元数据更改为不同的结构:
<RelativePath>app\%(DistFiles.RecursiveDir)%(DistFiles.Filename)%(DistFiles.Extension)</RelativePath>
请注意,%(DistFiles.RecursiveDir)
解析为与 <DistFiles>
定义中的 **
通配符相匹配的目录组件。
我在 ClientApp 文件夹下有一个 .NET Core 应用程序 (Razor Pages) 和另一个 VueJS 应用程序。发布已编译的 SPA 是使用您可以在整个 Internet 上找到的“著名”代码段完成的:
<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 文件夹下(镜像解决方案结构)。我想在 app/ 文件夹下发布它,但我不确定如何更改此 msbuild 任务。我的猜测是这个片段中有一些东西 - @(DistFiles->'%(FullPath)'),但尝试调整它并没有给我任何结果。
Solution Structure Published Folder Desired Structure
\ \ \
- ClientApp - ClientApp - app ( <- dist folder content here )
- dist - dist
您可以将生成的 ResolvedFileToPublish
项的元数据更改为不同的结构:
<RelativePath>app\%(DistFiles.RecursiveDir)%(DistFiles.Filename)%(DistFiles.Extension)</RelativePath>
请注意,%(DistFiles.RecursiveDir)
解析为与 <DistFiles>
定义中的 **
通配符相匹配的目录组件。