Paleiskite greitesnes programas, įdiegtas naudojant "Ngen.exe
Aplinkos
- Vizualinė studija
-
- Vizualinės studijos bendruomenė 2017
- Vizualinės studijos bendruomenė 2019
- WiX Toolset
- 3.11.2
※ Jis veikia kitose versijose, tačiau jis nepatvirtintas
Iš pradžių
.NET Framework programa sukuria ir įdiegia vietinius vaizdus naudodama Ngen.exe. Galite pagreitinti paleidimą ir vykdymą.
Tačiau norėdami sukurti vietinį vaizdą, turite naudoti "Ngen.exe aplinkoje, kurioje vykdote programą. Negalite platinti iš anksto atvaizduotas vaizdas. Todėl, ar norite, kad vartotojai paleisti Ngen.exe rankiniu būdu? Jis turi būti vykdomas diegimo metu.
Šiame skyriuje aprašomi veiksmai, kaip atlikti Ngen.exe paskirties exe arba dll wiX parametruose diegimo metu.
Atminkite, kad Ngen.exe galioja tik .NET Framework programoms ir iš pradžių yra vietinis rinkinys. Nėra prasmės jį naudoti .NET Core programoms.
Pasiruošimas iš anksto
- Tarkime, kad sukūrėte diegimo programą su "WiX".
Įtraukti bibliotekos nuorodą
Pridėti WixNetFxExtension.dll į savo nuorodą. Aplanko maršrutas yra C:\Program Files (x86)\WiX Toolset v3.11\bin.
Redaguoti Product.wxs
Įtraukite parametrus į failus, kuriuose veikia Ngen.exe.
Wix/@xmlns
Pridėkite NetFxExtension vardų sritį.
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
Parametrų pridėjimas prie komponentų (failų), kurie kuria vietinius vaizdus
Įtraukite netfx:NativeImage į antrinius paskirties failo elementus.
<Component Win64="yes" Id="OGGVORBISPROJECT.DLL" DiskId="1" Guid="6A1D2FD8-9FA7-40D5-A0EA-356268B3C0B4">
<File Id="OGGVORBISPROJECT.DLL" Name="OggVorbisProject.dll" Source="LittleSaviorTrial\Dll\OggVorbisProject.dll">
<netfx:NativeImage Id="NGEN_OGGVORBISPROJECT.DLL" Platform="64bit" Priority="0"/>
</File>
</Component>
Jei exe arba dll nurodo (priklauso) nuo kitų dlls dėl Ngen pobūdžio.exe, galite nurodyti tik exe arba dll, iš kurio norite jį nurodyti. Pavyzdžiui, jei A.exe nurodo B.dll, "NativeImage" nustatymas A.exe automatiškai taikomas tik B.dll.
Tačiau, jei A.exe dinamiškai įkelia B.dll naudojant Assembly.Load ir pan.dll. Naudojant Ngen.exe A.exe nesukompiliuoja B.dll. Tokiu atveju nustatykite nativeImage į B.dll taip pat.
@Id
Pirminio vaizdo identifikavimo pavadinimas. Nepersidengti su kitais ID.
@Platform
Nurodykite "32bit", "64bit" arba "all". Pakeiskite diegiamos programos nustatymus 32bit arba 64bit. Visi sukuria abu vietinius vaizdus, todėl nurodykite bibliotekas, kurios persijungia pagal vykdymo būseną, pvz., "Bet koks CPU".
@Priority
Kada paleisti "Ngen.exe diegimo metu. Galite nurodyti 0-3, tačiau daugiau informacijos rasite oficialioje svetainėje.
Suvestinė
Sukūrę diegimo programą, galite matyti, kad jei diegimas pavyksta, sukuriamas ir surinkimo aplanke užregistruojamas vietinis vaizdas.