【发布时间】:2020-08-30 18:26:53
【问题描述】:
我的 Blazor WebAssembly 项目在编译时变慢了。即使对我的一个剃须刀组件进行微小修改,编译也需要大约 25-30 秒。
我已经尝试在我的所有 3 个 .csproj 文件中将 BlazorWebassemblyEnableLinking 设置为 false,但没有任何效果。
<PropertyGroup>
<BlazorWebassemblyEnableLinking>false</BlazorWebassemblyEnableLinking>
</PropertyGroup>
这是在这里建议的https://remibou.github.io/Make-your-Blazor-development-faster/
测试场景:
- 在我的 3 个 .csproj 文件(xxx.Client、xxx.Server、xxx.Shared)中添加
BlazorWebassemblyEnableLinking - 在我的一个 .razor 组件中修改简单文本
- 保存并编译(CTRL+S & CTRL+SHIFT+B)
- ==> 完成需要 25-30 秒
我知道这是 Blazor Wasm 的预览版,但在这种情况下编写代码很痛苦。
对加快编码过程有什么建议吗?
我发现了一个加快编译时间的技巧。只需创建一个新文件夹(假设排除页面)右键单击Exclude from project。然后我在其中移动了最多的剃须刀组件。如果我目前正忙于处理 Blazor 应用程序的特定部分,我会将除该部分之外的所有文件移动到排除的文件夹中。在我的情况下,编译时间从 30 秒到 5 秒。需要时(在发布以发布某些内容之前),我只需将排除的文件移回原始页面文件夹即可。这个技巧现在适合我的需要,直到编译时间会更好(我希望在不久的将来)。
【问题讨论】:
-
您可以/应该将该更新部分作为自我回答发布。
-
dotnet new blazorwasm项目编译需要多长时间? -
另一种技术是将任何 Razor 组件移动到库中,这样就不必每次都重新编译
-
@MisterMagoo 对于一个新项目,只需几秒钟。因此,我的项目中的 Blazor 组件似乎越多,编译所需的时间就越多。此刻,我必须有20多个组件。
-
我认为这个项目最初是在较旧的 Blazor 预览版上编写的 - 我说的对吗?如果是这样,请确保您的 csproj 文件没有任何需要的旧属性 - 与全新的项目文件进行比较。