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


.NET 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 5 vagy újabb verzió 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-keretrendszer ClickOnce-alkalmazásainak parancssorból való létrehozásához lásd : ClickOnce-alkalmazások létrehozása a parancssorból.

Az MSBuild használata a .NET ClickOnce-alkalmazástelepítések reprodukálásához

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 alkalmazás vagy a WPF-alkalmazás projektsablonját, és nevezze el a projektet CmdLineDemo, majd hozza létre a projektet.

  2. Kattintson a jobb gombbal a projektre a Megoldáskezelőben, és válassza a Közzététel lehetőséget.

    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 lap.

  3. A Közzététel lapon válassza a Közzétételi profil hozzáadása, a ClickOnce, majd a Befejezés lehetőséget.

    Ebben a gyakorlatban figyelmen kívül hagyhatja a Közzététel lapon található többi konfigurációs beállítást.

  4. A folyamat befejezése után a Bezárás gombra kattintva lépjen ki a Közzététel lap párbeszédpanelről.

  5. Válassza a Közzététel lehetőséget.

    A Visual Studio létrehozza a ClickOnce üzembehelyezési kimenetét.

  6. 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.

    A .NET 5 és újabb verziók esetében a .NET ClickOnce-alkalmazások parancssorból való létrehozása hasonló élmény. Az egyetlen különbség az, hogy meg kell adnia egy extra tulajdonságot a közzétételi profilhoz az MSBuild parancssorban.

  5. Adja meg a msbuild /target:publish /p:PublishProfile=<pubxml file> /p:PublishDir="<specific location>".

    Az előző lépések egy teljes ClickOnce-alkalmazástelepítést eredményeznek a projekt közzététel 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 rendszerindító, amely alapértelmezés szerint a .NET telepítéséhez van konfigurálva. A mappában lévő fájlok az alkalmazás webes vagy UNC vagy CD/DVD-n keresztül történő telepítéséhez szükséges teljes fájlkészletet alkotjá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:PublishProfile=<pubxml file> /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.pubxml fájl (.NET) tulajdonságából származik. Ezt a viselkedést az MSBuild parancssorban is felülbírálhatja 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 rendszer a következő tulajdonságokat szúrja be a .NET-projektek közzétételi profilfájljába (.NET 5 vagy újabb). Ezek a tulajdonságok közvetlenül befolyásolják a ClickOnce alkalmazás létrehozásának módját.

A .pubxml-ben:

<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>
<UpdateUrlEnabled>false</UpdateUrlEnabled>
<IsWebBootstrapper>true</IsWebBootstrapper>
<BootstrapperEnabled>true</BootstrapperEnabled>

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 /p:PublishProfile=<pubxml file> /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. A .NET-projektek (.NET 5 és újabb verziók) esetében ezek a beállítások a pubxml fájlban találhatók, amelyeket a Visual Studióban a Közzététel eszközzel érhet el.

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 .NET-alapú windowsos alkalmazások esetében ez a beállítás a projektfájlban marad.

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érfrissítéseket ad meg. .NET-projektek esetén (.NET 5 és újabb verziók) a háttér nem támogatott.

  • 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.