Megosztás a következőn keresztül:


ClickOnce-alkalmazások létrehozása a parancssorból

A Visual Studióban a parancssorból is létrehozhat projekteket, még akkor is, ha az integrált fejlesztési környezetben (IDE) vannak létrehozva. Sőt, a Visual Studióval létrehozott projekteket egy olyan számítógépen is újraépítheti, amelyen csak a .NET-keretrendszer van telepítve. Ez a funkció lehetővé teszi a buildek reprodukálását automatizált folyamattal, például egy központi buildlaborban vagy olyan speciális szkriptelési technikákkal, amelyek túlmutatnak a projekt létrehozásának hatókörén.

Megjegyzés:

A .NET ClickOnce-alkalmazások parancssorból való létrehozásához lásd: .NET ClickOnce-alkalmazások létrehozása a parancssorból.

A .NET-keretrendszer ClickOnce-alkalmazástelepítéseinek reprodukálása az MSBuild használatával

Amikor meghívja msbuild /target:publish a parancssort, ez a parancs arra utasítja az MSBuild rendszert, hogy hozza létre a projektet, és hozzon létre egy ClickOnce alkalmazást a közzétételi mappában. Ez a parancs egyenértékű a Publish parancs kiválasztásával az IDE-ben.

Ez a parancs végrehajtja a msbuild.exe-t, amely a Visual Studio parancssori környezetének elérési útján található.

A "cél" az MSBuild jelzése arra, hogyan kell feldolgozni a parancsot. A fő célok a "build" és a "publish" cél. A buildcél egyenértékű a Build parancs kiválasztásával (vagy az F5 billentyű lenyomásával) az IDE-ben. Ha csak a projektet szeretné felépíteni, beírhatja a parancsot msbuild. Ez a parancs azért működik, mert a buildcél az alapértelmezett cél a Visual Studio által létrehozott összes projekt esetében. Ennek eredményeképpen nem kell explicit módon megadnia a buildcélt. Ezért a beírás msbuild ugyanaz a művelet, mint a beírás msbuild /target:build.

A /target:publish parancs arra utasítja az MSBuildet, hogy hívja meg a közzétételi célt. A közzétételi cél a buildcéltól függ, ami azt jelenti, hogy a közzétételi művelet a buildelési művelet szuperhalmaza. Ha például módosította a Visual Basic- vagy C#-forrásfájlokat, a közzétételi művelet automatikusan újraépíti a megfelelő szerelvényt.

A ClickOnce-jegyzék létrehozásához a Mage.exe parancssori eszközzel történő teljes ClickOnce-telepítés létrehozásával kapcsolatos információkért tekintse meg az útmutatót: ClickOnce-alkalmazás manuális üzembe helyezése.

Egyszerű ClickOnce-alkalmazás létrehozása és létrehozása az MSBuild használatával

A közzétételi profilok létrehozásának legegyszerűbb módja a Visual Studio használata. Az MSBuild használatával való közzétételhez közzétételi profil szükséges.

ClickOnce-projekt létrehozása és közzététele

  1. Nyissa meg a Visual Studiót, és hozzon létre egy új projektet.

    Válassza ki a Windows Forms App (.NET Framework) vagy a WPF App (.NET Framework) projektsablont, és nevezze el a projektet CmdLineDemo.

  2. A Build menüben válassza a Közzététel parancsot.

    Ez a lépés biztosítja, hogy a projekt megfelelően konfigurálva legyen a ClickOnce-alkalmazások üzembe helyezéséhez.

    Megjelenik a Közzététel varázsló.

  3. A Közzététel varázslóban válassza a Befejezés lehetőséget.

    A Visual Studio létrehozza és megjeleníti az alapértelmezett, Publish.htmnevű weblapot.

  4. Mentse a projektet, és jegyezze fel a mappa helyét, amelyben a projekt található.

    Az előző lépések létrehoznak egy ClickOnce-projektet, amely első alkalommal lett közzétéve. Most már az IDE-n kívül is reprodukálhatja a buildet.

A build reprodukálása a parancssorból

  1. Lépjen ki a Visual Studióból.

  2. A Windows Start menüjében válassza az Eszközök>parancssori>fejlesztői parancssort.

    Megnyílik a Visual Studio fejlesztői parancssora.

  3. A Visual Studio parancssorában győződjön meg arról, hogy az aktuális könyvtárban látható a korábban létrehozott projekt helye.

    Ha nem a projektkönyvtárban dolgozik, adjon meg egy parancsot a kívánt helyre való váltáshoz, például chdir C:\Users\username\source\repos\CmdLineDemo.

  4. Az előző szakaszban létrehozott meglévő fájlok eltávolításához írja be a következőt rmdir /s publish: .

    Ez a lépés nem kötelező, de biztosítja, hogy a parancssori build létrehozza az összes új fájlt.

  5. Adja meg a msbuild /target:publish.

    Az előző lépések egy teljes ClickOnce-alkalmazástelepítést eredményeznek a projekt Publish nevű almappájában. CmdLineDemo.application a ClickOnce üzembehelyezési jegyzék. A CmdLineDemo_1.0.0.0 mappa tartalmazza a ClickOnce alkalmazásjegyzék CmdLineDemo.exe és CmdLineDemo.exe.manifest fájlokat. Setup.exe a bootstrapper, amely alapértelmezés szerint a .NET-keretrendszer telepítéséhez van konfigurálva. A DotNetFX mappa tartalmazza a .NET-keretrendszer újraterjeszthető fájljait. Az ezen a helyen található fájlok az alkalmazás webes vagy UNC vagy CD/DVD-n keresztül történő üzembe helyezéséhez szükséges teljes fájlkészletet tartalmazzák.

Megjegyzés:

Az MSBuild rendszer a PublishDir beállítással adja meg a kimenet helyét, például msbuild /t:publish /p:PublishDir="<specific location>".

A folyamat kimenetének közzététele

Az MSBuild a PublishDir tulajdonság használatával állítja be a build kimeneti helyét, beleértve a buildösszetevőket is. Az PublishDir MSBuild által a közzététel céljaként használt érték alapértelmezés szerint a PublishDir projektfájl (.NET-keretrendszer) tulajdonságából származik. Ezt a viselkedést felülbírálhatja az MSBuild parancssorban a /p kapcsolóval. Ha felülbírálja a beállítást, a közzétételi kimenet a megadott helyre kerül. A kimenet az MSBuild közzétételi lépése során jön létre. Bármely MSBuild-cél, amelyen AfterTargets="ClickOncePublish" fut a másolat készítése után.

A PublishUrl tulajdonság , ellentétben PublishDiraz MSBuild lépésben nem használatos. PublishUrl figyelmen kívül marad, amikor közvetlenül az MSBuild-et futtatja a parancssorból való közzétételhez.

Amikor a közzététel elindul a Visual Studio IDE-ben, a Visual Studio elindítja az MSBuild folyamatát, hogy a programalkalmazásokat a PublishDir megadott helyre tegye közzé. Az MSBuild lépés befejezése után a Visual Studio közzéteszi a ClickOnce-specifikus fájlokat a kívánt PublishUrlhelyre. Ez a második lépés a Visual Studio folyamatán belül fut. Ebben a lépésben nem szúrhat be egyetlen cél/feladatot sem, mert ez egy Visual Studio-folyamat.

A Visual Studiót nem használó MSBuild-üzemelő példányok esetében másolja az üzembehelyezési könyvtárban lévő összes fájlt az üzembehelyezési célhelyre vagy adathordozóra. Az üzembehelyezési könyvtár lehet egy webhely vagy FTP-hely mappája, fájlmegosztás vagy CD-ROM. Használhat például egy külső eszközt vagy egy egyéni MSBuild feladatot a ClickOnce-fájlok másolásához.

A mappában lévő PublishUrl utólagos feldolgozáshoz külön szkripttel kell rendelkeznie.

Fontos

Ha PublishDir ugyanarra a helyre van beállítva, mint PublishUrla másik, akkor a rendszer a duplikált fordítási kimenetet másolja a PublishUrl helyre. Ezt a problémát elkerülheti a Visual Studio 2022 17.4-es és újabb verziójában egy új profil létrehozásával. Az új profil más helyre van beállítva, mint PublishUrlPublishDir. A közzétételi művelet végén a rendszer átmásolja a megfelelő ClickOnce-fájlokat a PublishDirPublishUrl kívánt helyre.

Tulajdonságok közzététele

Amikor az előző eljárásokkal teszi közzé az alkalmazást, a Közzététel varázsló a következő tulajdonságokat szúrja be a projektfájlba. Ezek a tulajdonságok közvetlenül befolyásolják a ClickOnce alkalmazás létrehozásának módját.

A CmdLineDemo.vbproj / CmdLineDemo.csproj fájlban:

<AssemblyOriginatorKeyFile>WindowsApplication3.snk</AssemblyOriginatorKeyFile>
<GenerateManifests>true</GenerateManifests>
<TargetZone>LocalIntranet</TargetZone>
<PublisherName>Microsoft</PublisherName>
<ProductName>CmdLineDemo</ProductName>
<PublishUrl>http://localhost/CmdLineDemo</PublishUrl>
<Install>true</Install>
<ApplicationVersion>1.0.0.*</ApplicationVersion>
<ApplicationRevision>1</ApplicationRevision>
<UpdateEnabled>true</UpdateEnabled>
<UpdateRequired>false</UpdateRequired>
<UpdateMode>Foreground</UpdateMode>
<UpdateInterval>7</UpdateInterval>
<UpdateIntervalUnits>Days</UpdateIntervalUnits>
<UpdateUrlEnabled>false</UpdateUrlEnabled>
<IsWebBootstrapper>true</IsWebBootstrapper>
<BootstrapperEnabled>true</BootstrapperEnabled>

.NET-keretrendszer-projektek esetén ezeket a tulajdonságokat felülbírálhatja a parancssorban anélkül, hogy magát a projektfájlt módosítaná. Az alábbi kód például a ClickOnce-alkalmazás központi telepítését hozza létre a rendszerindító nélkül:

msbuild /target:publish /property:BootstrapperEnabled=false

A közzétételi tulajdonságokat a Visual Studióban a Project DesignerKözzététel, Biztonság és Aláírás tulajdonságlapjai vezérlik.

Az alábbi közzétételi tulajdonságok az alkalmazástervező különböző tulajdonságoldalain vannak beállítva.

  • AssemblyOriginatorKeyFile meghatározza a ClickOnce-alkalmazásjegyzékek aláírásához használt kulcsfájlt. Ezt a kulcsot arra is használhatja, hogy erős nevűt rendeljen a szerelvényekhez. Ez a tulajdonság a ProjekttervezőAláíró lapján van beállítva.

A biztonsági oldalon a következő tulajdonságok vannak beállítva:

  • A ClickOnce biztonsági beállításainak engedélyezése határozza meg, hogy létre lettek-e hozva a ClickOnce-jegyzékek. Amikor egy projekt először létrejön, a ClickOnce-jegyzék létrehozása alapértelmezés szerint ki van kapcsolva. A varázsló automatikusan bekapcsolja ezt a jelzőt az első közzétételkor.

  • A TargetZone meghatározza a ClickOnce-alkalmazásjegyzékbe kibocsátandó megbízhatósági szintet. Lehetséges értékek: "Internet", "LocalIntranet" és "Custom". Az Internet és a LocalIntranet alapértelmezett engedélykészletet ad ki a ClickOnce-alkalmazásjegyzékbe. A LocalIntranet az alapértelmezett, és alapvetően teljes megbízhatóságot jelent. Az Egyéni beállítás azt határozza meg, hogy csak az alapalkalmazás.jegyzékfájlban explicit módon megadott engedélyek legyenek kibocsátva a ClickOnce alkalmazásjegyzékébe. Az app.manifest fájl egy részleges jegyzékfájl, amely csak a megbízhatósági információk definícióit tartalmazza. Ez egy rejtett fájl, amely automatikusan hozzáadódik a projekthez, amikor engedélyeket konfigurál a Biztonsági oldalon.

A Közzététel lapon a következő tulajdonságok vannak beállítva:

  • PublishUrl az a hely, ahol az alkalmazás közzé van téve az IDE-ben. A ClickOnce alkalmazásjegyzékbe kerül beszúrásra, ha nincs megadva sem a InstallUrl tulajdonság, sem a UpdateUrl tulajdonság.

  • ApplicationVersion A ClickOnce alkalmazás verzióját adja meg. A verzió egy négyjegyű szám. Ha az utolsó számjegy egy "*" (csillag), akkor a ApplicationRevision helyettesítve lesz a build időpontjában a jegyzékbe beszúrt értékkel.

  • ApplicationRevision a változatot adja meg. Ez az érték egy egész szám, amely az IDE-ben való közzétételkor növekszik. Figyelje meg, hogy a parancssorban végrehajtott buildek esetében nem növekszik automatikusan.

  • Install meghatározza, hogy az alkalmazás telepített vagy webről futtatott alkalmazás-e.

  • InstallUrl (nem látható) az a hely, ahonnan a felhasználók telepítik az alkalmazást. Ha meg van adva, ez az érték a setup.exe bootstrapperbe kerül, ha a IsWebBootstrapper tulajdonság engedélyezve van. Az alkalmazásjegyzékbe is beszúrja, ha nincs UpdateUrl megadva.

  • SupportUrl (nem jelenik meg) a telepített alkalmazás Programok hozzáadása/eltávolítása párbeszédpaneljén található hely.

A következő tulajdonságokat az Alkalmazásfrissítések párbeszédpanelen adhatja meg, amely a Közzététel lapról érhető el.

  • UpdateEnabled jelzi, hogy az alkalmazásnak ellenőriznie kell-e a frissítéseket.

  • UpdateMode előtér- vagy háttérfrissítéseket ad meg.

  • UpdateInterval meghatározza, hogy az alkalmazás milyen gyakran ellenőrizze a frissítéseket.

  • UpdateIntervalUnits megadja, hogy az UpdateInterval érték órák, napok vagy hetek egységében van-e megadva.

  • UpdateUrl (nem látható) az a hely, ahonnan az alkalmazás frissítéseket kap. Ha meg van adva, ez az érték be lesz szúrva az alkalmazásjegyzékbe.

A közzétételi lapról elérhető Közzétételi beállítások párbeszédpanelen az alábbi tulajdonságok vannak beállítva.

  • PublisherName az alkalmazás telepítésekor vagy futtatásakor megjelenő üzenetben megjelenő közzétevő nevét adja meg. Telepített alkalmazások esetén a rendszer a Start menü mappanevét is megadja.

  • ProductName az alkalmazás telepítésekor vagy futtatásakor megjelenő parancssorban megjelenő termék nevét adja meg. Telepített alkalmazások esetén a parancsikon nevét is meg kell adni a Start menüben.

A következő tulajdonságok az Előfeltételek párbeszédpanelen vannak beállítva, amelyek a Közzététel lapról érhetők el.

  • BootstrapperEnabled meghatározza, hogy létre kell-e hozni a setup.exe bootstrappert.

  • IsWebBootstrapper meghatározza, hogy a setup.exe bootstrapper a weben vagy lemezalapú módban működik-e.

Használati beállítások: InstallURL, SupportUrl, PublishURL, UpdateURL

Az alábbi táblázat a ClickOnce üzembe helyezésének négy URL-beállítását mutatja be.

URL-beállítás Description
PublishURL A ClickOnce alkalmazás webhelyre való közzétételéhez szükséges.
InstallURL Opcionális. Állítsa be ezt az URL-opciót, ha a telepítési hely eltér a PublishURL. Beállíthatja például az PublishURL FTP-elérési utat, és beállíthatja a InstallURL webes URL-címet.
SupportURL Opcionális. Állítsa be ezt az URL-beállítást, ha a támogatási webhely eltér a PublishURL-től. Például beállíthatja a SupportURL hivatkozást a vállalat ügyfélszolgálati weboldalára.
UpdateURL Opcionális. Állítsa be ezt az URL-címet, ha a frissítés helye eltér a InstallURL. Beállíthatja például az PublishURL FTP-elérési utat, és beállíthatja a UpdateURL webes URL-címet.