Asp.net core 使用MSBuild任务将整个文件夹复制到wwwroot

Asp.net core 使用MSBuild任务将整个文件夹复制到wwwroot,asp.net-core,asp.net-core-2.2,Asp.net Core,Asp.net Core 2.2,我有以下资料: <Target Name="OnBuild" BeforeTargets="Build" Condition="'$(Configuration)' == 'Debug'"> <Exec WorkingDirectory="app" Command="npm install" /> <Exec WorkingDirectory="app" Command="npm run build" /> </Target> 在Your

我有以下资料:

<Target Name="OnBuild" BeforeTargets="Build" Condition="'$(Configuration)' == 'Debug'">
  <Exec WorkingDirectory="app" Command="npm install" />
  <Exec WorkingDirectory="app" Command="npm run build" />
</Target>
在YourProject.csproj的目标标记内添加以下行:

注:当我们在ASP.Net Core中启动一个新的SPA项目时,会自动生成这段代码。请在YourProject.csproj中的目标标记中添加以下行:


PS.当我们在ASP.Net Core中启动一个新的SPA项目时,会自动生成这段代码。

您可以使用它并修改所需相对路径的相对路径:

<!-- Include the newly-built files in the publish output -->
<ItemGroup>
  <DistFiles Include="$(SpaRoot)build\**" />
  <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
    <RelativePath>wwwroot/%(RecursiveDir)%(Filename)%(Extension)</RelativePath>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
  </ResolvedFileToPublish>
</ItemGroup>

您可以使用此选项并修改所需相对路径的相对路径:

<!-- Include the newly-built files in the publish output -->
<ItemGroup>
  <DistFiles Include="$(SpaRoot)build\**" />
  <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
    <RelativePath>wwwroot/%(RecursiveDir)%(Filename)%(Extension)</RelativePath>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
  </ResolvedFileToPublish>
</ItemGroup>

默认情况下,它不会复制它吗?我的意思是发布过程会创建dist的副本,一个在客户端/中,另一个在wwwroot中。在我的情况下,它不会复制到wwwroot。不知道为什么。。。这只是一些JS和更少的文件。。。仅此而已。默认情况下它不会复制它吗?我的意思是发布过程会创建dist的副本,一个在客户端/中,另一个在wwwroot中。在我的情况下,它不会复制到wwwroot。不知道为什么。。。这只是一些JS和更少的文件。。。仅此而已。
<!-- Include the newly-built files in the publish output -->
<ItemGroup>
  <DistFiles Include="$(SpaRoot)build\**" />
  <ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
    <RelativePath>wwwroot/%(RecursiveDir)%(Filename)%(Extension)</RelativePath>
    <CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
    <ExcludeFromSingleFile>true</ExcludeFromSingleFile>
  </ResolvedFileToPublish>
</ItemGroup>