Msbuild NET核心&;SPA-客户端位于服务器文件夹之外时未发布客户端文件
我有一个项目,它有单独的客户端和服务器文件夹,我的目标是在服务器的发布过程中包含客户端文件。文件夹结构如下所示Msbuild NET核心&;SPA-客户端位于服务器文件夹之外时未发布客户端文件,msbuild,csproj,msbuild-task,Msbuild,Csproj,Msbuild Task,我有一个项目,它有单独的客户端和服务器文件夹,我的目标是在服务器的发布过程中包含客户端文件。文件夹结构如下所示 |- server | |- src | |- MyProject | |- MyProject.csproj |- client |- src |- dist 使用默认SPA模板定义SpaRoot,在我的例子中是。/../../../client/src/,以及以下项目组定义 <ItemGroup> <DistF
|- server
| |- src
| |- MyProject
| |- MyProject.csproj
|- client
|- src
|- dist
使用默认SPA模板定义SpaRoot
,在我的例子中是。/../../../client/src/
,以及以下项目组定义
<ItemGroup>
<DistFiles Include="$(SpaRoot)dist\**; $(SpaRoot)dist-server\**" />
<DistFiles Include="$(SpaRoot)node_modules\**" Condition="'$(BuildServerSideRenderer)' == 'true'" />
<ResolvedFileToPublish Include="@(DistFiles->'%(FullPath)')" Exclude="@(ResolvedFileToPublish)">
<RelativePath>%(DistFiles.Identity)</RelativePath>
<CopyToPublishDirectory>PreserveNewest</CopyToPublishDirectory>
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
</ResolvedFileToPublish>
</ItemGroup>
<ItemGroup>
<ClientDistFiles Include="$(SpaRoot)dist/**/*.*"/>
</ItemGroup>
<Target Name="PublishRunWebpack" BeforeTargets="ComputeFilesToPublish">
<!-- As part of publishing, ensure the JS resources are freshly built in production mode -->
<Exec WorkingDirectory="$(SpaRoot)" Command="yarn install" />
<Exec WorkingDirectory="$(SpaRoot)" Command="yarn build:$(TargetEnvironment)" />
<Copy
SourceFiles="@(ClientDistFiles)"
DestinationFiles="@(ClientDistFiles->'wwwroot\%(RecursiveDir)%(Filename)%(Extension)')"
/>
</Target>