ClickOnce'i sätete muutmine sõltuvalt valitud järgu konfiguratsioonist (ainult .NET Frameworki versioon)

Lehekülg uuendatud :
Lehe loomise kuupäev :

keskkond

Raamistik
  • Windowsi vormid (.NET Framework) üldiselt
  • WPF (.NET Framework) üldiselt

Eeldus

Nende näpunäidete sisuks on .NET raamistiku projekti eeldused. .NET (Core) puhul saate kooste konfiguratsiooniüksuses määrata ClickOnce'i avaldamissätted, nii et palun avaldage nagu tavaliselt.

Samuti eeldab see, et teil on clickOnce'i normaalseks kasutamiseks piisavalt teadmisi.

Alguses

Kuna .NET Framework projektil võib olla ainult üks ClickOnce'i avaldamissäte, Näiteks erinevate sätetega avaldamiseks silumisjärgus ja väljalaskejärgus peate sätteid enne avaldamist iga kord käsitsi muutma.

Teil võib olla kaks sätet, rühmitades projektid DLL-i ja luues avaldamiseks kaks eraldi projekti. Teil on sama konfiguratsioon kaks korda ja kui avaldamiseks on vaja ressursifaile, peab teil olema kaks neist korraga, nii et juhtimine on tülikas.

Selles jaotises kirjeldatakse, kuidas luua pakett-fail (.bat) nii palju sätteid kui vaja ja avaldada ClickOnce.

ClickOnce'i konfigureerimine

Seekord eraldati "Ühiskausta asukoht" ja "Installikausta URL" "Silu build" ja "Release Build". Muud sätted luuakse poliitikaga, mis muudab need tavaliseks. Muud parameetrid võivad olla eraldi, kuid "rakendusfailide" ja "eeltingimuste" eraldi hoidmine võib olla tülikas.

Esmalt avage projekt ja sisestage clickOnce'i sätted nagu tavaliselt. Sisestussisu on seatud silumise poolt väljastatavatele parameetritele, kuid kõik muu kui ühine osa on hea, kui see ei põhjusta viga.

Järgnevalt on toodud näide konfiguratsioonist.

Kui olete tippinud, salvestage projekt.

ClickOnce'i avaldamiseks .bat faili loomine

Kuna see on väljastatud käsuga, saab seda käivitada ka teistes meediumites, näiteks PowerShellis, kuid seekord luuakse see BAT-failina.

Faili saate luua kõikjal, kuid lihtsuse huvides loon selle lahendusefaili asukohas (.sln). Kuna tegemist on BAT-failiga, on märgi kodeering Shift-JIS. PS1 võib olla UTF-8 (BOM).

Avage PVT-fail tekstiredaktoris ja tippige: Pange tähele, et PowerShell võib põgenemisega teisiti toime tulla.

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /p:Configuration=Debug /p:PublishUrl="publish\Debug\\" /p:InstallUrl="\\xxxxServer\publish_Debug\\"

Esimene rida osutab "Arendaja käsuviiba" asukohale. See tee sõltub installitava Visual Studio versioonist.

Iga tee osa sõltub järgmistest tingimustest:

Programmifailid
Tee tingimused
Programmifailid
  • Kui kasutate 32-bitist operatsioonisüsteemi
  • Kui kasutate Visual Studio 64-bitist versiooni 64-bitisel operatsioonisüsteemil
Programmifailid (x86)
  • Kui kasutate Visual Studio 32-bitist versiooni 64-bitises operatsioonisüsteemis
2022
See sõltub installitava Visual Studio versioonist.
Kogukond
See sõltub installitava Visual Studio väljaandest. Sisestatakse "kogukond", "professionaalne", "ettevõtlus" jne.

Teine rida teisaldab praeguse kataloogi BAT-faili asukohta.

Kolmas rida on käsk ClickOnce build processing command. Iga parameetri tähendus on järgmine.

parameetri nime kirjeldus
msbuild Käsk, mis käivitab ehitusprotsessi. Nõutav ja kirjutatud kõigepealt.
Klõpsake nuppuOnceBuildConfiguration.sln Kirjeldab loodava lahenduse failinime.
/t:Publish Näitab ClickOnce'i koostamisprotsessi.
/p:Configuration=Debug Määrab lahenduse jaoks määratud koostekonfiguratsiooni. Kui soovite loodavat silumiskonfiguratsiooni muuta, muutke teksti osas "Silumine".
/p:PublishUrl="publish\Debug\\" Kirjutage visual studio avaldamiskuval määratud stringiga üle väärtus "Avaliku kausta asukoht" ja käivitage see.
/p:InstallUrl="\\xxxxServer\publish_Debug\\" Kirjutage "Installikausta URL" väärtus Visual Studio avaldamiskuval määratud stringiga üle ja käivitage see.

Mõned parameetrid on ekstraktitud, kuid teiste parameetrite kohta vaadake järgmisi linke.

Seekord valime ClickOnce'i avaldamisparameetreid igas silumis- ja väljalaskejärgus, nii et loome selle järgmiselt.

Väljaandja ClickOnceDebug.bat

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /p:Configuration=Debug /p:PublishUrl="publish\Debug\\" /p:InstallUrl="\\xxxxServer\publish_Debug\\"

Klõpsake nuppuOnceRelease Avaldatud .bat

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /p:Configuration=Release /p:PublishUrl="publish\Release\\" /p:InstallUrl="\\xxxxServer\publish_Release\\"

ClickOnce avaldab PVT-faili täitmise

Proovige käivitada iga BAT-fail.

Käsuviip käivitatakse ja ehitamine algab.

Tegelikult on seekord loodud BAT-fail ainult protsess kuni ehitamiseni, nii et faili ei looda "avaliku kausta asukohas". Avaldamiseks vajalikud failid on loodud. Näiteks silumisjärgu korral peaks teil olema fail "< projektikausta tee >\bin\Debug\app.publish\". Kopeerige need failid "installikausta URL-i" ja see töötab õigesti clickOnce'ina.

Avalda avaliku kausta asukohta (kui sihtkoht on kaust, millele teil on otsene juurdepääs)

Selle osa viitena kasutatakse järgmist saiti.

See ala ei ole otseselt seotud ClickOnce'i töötlemisega, seega vaadake üksikasjaliku selgituse saamiseks ülaltoodud saiti.

Esmalt avage projektifail (.csproj) tekstiredaktoris. See ei ole lahendusfail.

Toas on XML-struktuur ja kui kerite allapoole, lisage </Project> selle kohal olevale reale järgmine kood. Kui see on failikoopia eeldusprotsess, on sisu fikseeritud, kuid osa on CopyPublishedApplication meelevaldne. Sa kasutad seda nime hiljem.

<!-- ここから ClickOnce の発行処理 -->
<Target Name="CopyPublishedApplication">
  <ItemGroup>
    <MySourceFiles Include="$(PublishDir)**\*.*" Exclude="$(PublishDir)$(AssemblyName).exe" />
  </ItemGroup>
  <PropertyGroup>
    <AppricationDir>$(_DeploymentApplicationDir.Substring($(PublishDir.Length)))</AppricationDir>
  </PropertyGroup>
  <Copy SourceFiles="@(MySourceFiles)" DestinationFiles="@(MySourceFiles->'$(PublishUrl)%(RecursiveDir)%(Filename)%(Extension)')" />
</Target>
<!-- ここまで ClickOnce の発行処理 -->

Salvestage see, kui olete selle sisestanud.

Seejärel avage iga BAT-fail ja lisage /t:CopyPublishedApplication msbuild parameetrid. CopyPublishedApplication See on nimi, mille ma sulle ennist andsin.

Klõpsake nuppuOnceDebug avaldab.bat (näide)

call "C:\Program Files\Microsoft Visual Studio\2022\Community\Common7\Tools\VsDevCmd.bat"
cd %~dp0
msbuild ClickOnceBuildConfiguration.sln /t:Publish /t:CopyPublishedApplication /p:Configuration=Debug /p:PublishUrl="publish\Debug\\" /p:InstallUrl="\\xxxxServer\publish_Debug\\"

PVT-faili käivitamisel näete, et fail kopeeritakse ühiskausta asukohta. Praegu ei ole faili >.exe < programmi nime, kuid see pole vajalik, kuna see sisaldub algselt seadistuses.exe.

täiendus

Kui lahenduses on mitu projekti, töötab CopyPublishedApplication see kõigi projektide puhul. Enamikul juhtudel on see seatud ainult exe projektile, nii et viga kuvatakse teises projektis töötamisel CopyPublishedApplication , Seda on ohutu ignoreerida, kuna see kuvab ainult sõnumi.

Avalda avaliku kausta asukohas (FTP jaoks)

Ma ei ole seda proovinud, kuid võiksite viidata järgmistele saitidele.

Muud asjad, mida meeles pidada