Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk bemutatja, hogyan vezérelheti az ügyféloldali forgatókönyvek köztes nyelv (IL) linkerét egy Blazor alkalmazás létrehozásakor.
Blazor WebAssembly Köztes nyelvi (IL) csatolást hajt végre a build során, hogy az alkalmazás kimeneti szerelvényeiből levágja a szükségtelen IL-t. A linker le van tiltva, amikor Debug konfigurációban épít. Az alkalmazásokat kiadási konfigurációban kell felépíteni a linkelés engedélyezéséhez. Az alkalmazások üzembe helyezésekor javasoljuk, hogy a Blazor WebAssembly alkalmazásokat Kiadás módban fordítsa.
Egy alkalmazás összekapcsolása méret szempontjából optimalizált, de káros hatásokkal járhat. A tükrözést vagy kapcsolódó dinamikus funkciókat használó alkalmazások megszakadhatnak, ha levágják, mert a linker nem tud erről a dinamikus viselkedésről, és általában nem tudja meghatározni, hogy mely típusok szükségesek a futásidőben történő tükrözéshez. Az ilyen alkalmazások vágásához a linkert tájékoztatni kell a kódban és az alkalmazás által használt csomagokban vagy keretrendszerekben való tükröződés által megkövetelt típusokról.
Annak érdekében, hogy a csökkentett méretű alkalmazás megfelelően működjön az üzembe helyezés után, fontos, hogy a fejlesztés során gyakran tesztelje az alkalmazás release buildjeit.
Az alkalmazások összekapcsolása Blazor az alábbi MSBuild-funkciókkal konfigurálható:
- Globális csatolás konfigurálása MSBuild tulajdonsággal.
- A szerelvényenkénti összekapcsolást egy konfigurációs fájl segítségével szabályozza.
MSBuild tulajdonsággal való összekapcsolás vezérlése
Alapértelmezés szerint a csatolás engedélyezve van, ha egy alkalmazás beépített konfigurációban Release van. A csatolás letiltásához konfigurálja az BlazorWebAssemblyEnableLinking MSBuild tulajdonságot a projektfájlban:
<PropertyGroup>
<BlazorWebAssemblyEnableLinking>false</BlazorWebAssemblyEnableLinking>
</PropertyGroup>
Konfigurációs fájllal való csatolás vezérlése
A szerelvényenkénti csatolás szabályozásához adjon meg egy XML-konfigurációs fájlt, és adja meg a fájlt MSBuild elemként a projektfájlban:
<ItemGroup>
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
</ItemGroup>
LinkerConfig.xml:
<?xml version="1.0" encoding="UTF-8" ?>
<!--
This file specifies which parts of the BCL or Blazor packages must not be
stripped by the IL Linker even if they aren't referenced by user code.
-->
<linker>
<assembly fullname="mscorlib">
<!--
Preserve the methods in WasmRuntime because its methods are called by
JavaScript client-side code to implement timers.
Fixes: https://github.com/dotnet/blazor/issues/239
-->
<type fullname="System.Threading.WasmRuntime" />
</assembly>
<assembly fullname="System.Core">
<!--
System.Linq.Expressions* is required by Json.NET and any
expression.Compile caller. The assembly isn't stripped.
-->
<type fullname="System.Linq.Expressions*" />
</assembly>
<!--
In this example, the app's entry point assembly is listed. The assembly
isn't stripped by the IL Linker.
-->
<assembly fullname="MyCoolBlazorApp" />
</linker>
További információkért és példákért lásd: Adatformátumok (dotnet/runtime GitHub-adattár).
Adjon hozzá egy XML csatoló konfigurációs fájlt a könyvtárhoz
Ha egy adott tárhoz szeretné konfigurálni a hivatkozáskezelőt, beágyazott erőforrásként adjon hozzá egy XML-csatoló konfigurációs fájlt a tárhoz. A beágyazott erőforrásnak ugyanazzal a névvel kell rendelkeznie, mint a szerelvénynek.
A következő példában a LinkerConfig.xml fájl beágyazott erőforrásként van megadva, amelynek neve megegyezik az erőforrástár szerelvényével:
<ItemGroup>
<EmbeddedResource Include="LinkerConfig.xml">
<LogicalName>$(MSBuildProjectName).xml</LogicalName>
</EmbeddedResource>
</ItemGroup>
A linker konfigurálása nemzetköziesítéshez
Blazor linker konfigurációja a Blazor WebAssembly alkalmazásokhoz eltávolítja a nemzetközivé tétel információit, kivéve azokat a területi beállításokat, amelyeket kifejezetten kértek. Ezeknek a szerelvényeknek a eltávolítása minimálisra csökkenti az alkalmazás méretét.
Az I18N-szerelvények megőrzésének szabályozásához állítsa be az <BlazorWebAssemblyI18NAssemblies> MSBuild tulajdonságot a projektfájlban:
<PropertyGroup>
<BlazorWebAssemblyI18NAssemblies>{all|none|REGION1,REGION2,...}</BlazorWebAssemblyI18NAssemblies>
</PropertyGroup>
| Régió értéke | Monorégió gyűlés |
|---|---|
all |
Minden szerelvény bele van foglalva |
cjk |
I18N.CJK.dll |
mideast |
I18N.MidEast.dll |
none (alapértelmezett) |
None |
other |
I18N.Other.dll |
rare |
I18N.Rare.dll |
west |
I18N.West.dll |
Több érték (például mideast,west) elválasztásához használjon vesszőt.
További információért lásd I18N: Pnetlib Internationalization Framework Library (mono/mono GitHub-adattár).