发布时从第 3 方 Blazor 库中选择 wwwroot/_content/ 个文件
Pick wwwroot/_content/ files from 3rd party Blazor library when publishing
我有一个 ASP.NET 核心 5 项目,它引用了一些第 3 方 Blazor 库。
当我发布项目时,它在 $publishDir/wwwroot/_content/LiraryName/
文件夹中包含大量静态资产文件,这会减慢部署速度。我不需要全部。
是否可以配置发布时应跳过哪些文件?
有一个更简单的方法:
只需使用这些:
<ItemGroup>
<Content Update="wwwroot\_content\LiraryName\*.*">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
</ItemGroup>
使用前,请先删除publish文件夹。
================
更新 1
方案一
1)在nuget包引用节点中添加GeneratePathProperty="true"
生成msbuild属性PkgBlazored_Toast
访问nuget的内容包装如下:
<ItemGroup>
<PackageReference Include="Blazored.Toast" Version="3.1.2" GeneratePathProperty="true" />
</ItemGroup>
2) 添加:
<Target Name="RemoveTheFiles" AfterTargets="ComputeFilesToPublish">-->
<ItemGroup>
<ResolvedFileToPublish Remove="$(PkgBlazored_Toast)\staticwebassets\*.*"></ResolvedFileToPublish>
</ItemGroup>
</Target>
也,首先,删除之前的发布文件夹,然后运行发布。
方案二
1)使用Delete
任务:
<Target Name="RemoveTheFiles" AfterTargets="AfterPublish">
<PropertyGroup>
<Folder>$(PublishUrl)wwwroot\_content</Folder>
</PropertyGroup>
<RemoveDir Directories="$(Folder)"></RemoveDir>
</Target>
我有我的 NPM 文件夹 --> NpmJS 在 wwwroot 里面
像这样编辑 csproj 文件:
很有魅力。
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="npm install" WorkingDirectory="wwwroot\NpmJS" />
<Exec Command="npm run build" WorkingDirectory="wwwroot\NpmJS" />
</Target>
我有一个 ASP.NET 核心 5 项目,它引用了一些第 3 方 Blazor 库。
当我发布项目时,它在 $publishDir/wwwroot/_content/LiraryName/
文件夹中包含大量静态资产文件,这会减慢部署速度。我不需要全部。
是否可以配置发布时应跳过哪些文件?
有一个更简单的方法:
只需使用这些:
<ItemGroup>
<Content Update="wwwroot\_content\LiraryName\*.*">
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
</Content>
</ItemGroup>
使用前,请先删除publish文件夹。
================
更新 1
方案一
1)在nuget包引用节点中添加GeneratePathProperty="true"
生成msbuild属性PkgBlazored_Toast
访问nuget的内容包装如下:
<ItemGroup>
<PackageReference Include="Blazored.Toast" Version="3.1.2" GeneratePathProperty="true" />
</ItemGroup>
2) 添加:
<Target Name="RemoveTheFiles" AfterTargets="ComputeFilesToPublish">-->
<ItemGroup>
<ResolvedFileToPublish Remove="$(PkgBlazored_Toast)\staticwebassets\*.*"></ResolvedFileToPublish>
</ItemGroup>
</Target>
也,首先,删除之前的发布文件夹,然后运行发布。
方案二
1)使用Delete
任务:
<Target Name="RemoveTheFiles" AfterTargets="AfterPublish">
<PropertyGroup>
<Folder>$(PublishUrl)wwwroot\_content</Folder>
</PropertyGroup>
<RemoveDir Directories="$(Folder)"></RemoveDir>
</Target>
我有我的 NPM 文件夹 --> NpmJS 在 wwwroot 里面 像这样编辑 csproj 文件: 很有魅力。
<Target Name="PreBuild" BeforeTargets="PreBuildEvent">
<Exec Command="npm install" WorkingDirectory="wwwroot\NpmJS" />
<Exec Command="npm run build" WorkingDirectory="wwwroot\NpmJS" />
</Target>