.NET 程序集可以包含嵌入资源。嵌入资源是 .NET 程序集的一部分二进制数据集合。您可以通过类似文件的 API 在代码中访问这些二进制数据。
默认情况下,Web 构建不包含嵌入资源。这有助于减小最终二进制文件的大小,因为嵌入资源可能相当大。但是,一些用户代码和 .NET 类库 API 依赖于嵌入资源的存在才能正常工作。例如,使用 StringComparison.InvariantCultureIgnoreCase
值进行字符串比较时,在比较非 ASCII 字符时会使用嵌入资源。
您可以在 Unity 编辑器中使用以下脚本启用 Web 构建的嵌入资源
using UnityEditor;
public class WebGLEditorScript
{
[MenuItem("WebGL/Enable Embedded Resources")]
public static void EnableEmbeddedResources()
{
PlayerSettings.WebGL.useEmbeddedResources = true;
}
}
启用此 Player 设置后,Web 构建将包含项目使用的任何 .NET 程序集中的所有嵌入资源。