SharePoint 2022 (a.k.a SharePoint Server Subscription Edition) in kako si pripraviti delujoče razvojno okolje

09.02.2023

SharePoint 2022 oz. po novem Microsoft poimenovanju SharePoint Server Subscription Edition (vem, zmeda v poimenovanju s strani Microsofta je vedno velika) je trenutno najnovejša verzija SharePoint okolja. In ker imamo že kar nekaj strank, za katere razvijamo prilagojeno SharePoint okolje ravno na tej, zadnji verziji SharePointa, sem tudi sam končno zagrabil vanj.

Res je, da sem v zadnjih letih primarno usmerjen v druge veje razvoja, ampak še vedno pridejo kdaj pa kdaj zahteve za malo večje oz bolj zahtevne razširitve ali aplikacije za SharePoint, takrat pridem na vrsto tudi jaz. In kot se pri meni tudi spodobi, vedno v vsak razvoj zagrabim v polni meri oz. grizem, dokler ne pridem do rešitve. In ena izmed takih stvari, ki jo je bilo potrebno pregristi že takoj na začetku (tako-rekoč še pred začetkom razvoja 😊), je bilo nedelovanje razvojnega okolja za SharePoint Server Subscription Edition v kombinaciji z Windows Server 2022 in Visual Studio 2022.

Naj že kar takoj povem, da tukaj ni noben show-stopper Visual Studio 2022 (lahko uporabite tudi katero od starejših verzij Visual Studia, pa vseeno ne bo delovalo).
Mimogrede, obstaja tudi možnost, da razvijate za zadnjo verzijo SharePointa 2022 kar na SharePointu 2019, ampak v tem primeru nikakor ne razvijate na zadnji verziji SharePointa, saj ne uporabljate zadnjih knjižnic (tako server kot client-side) iz najnovejšega SharePointa, posledično vseh najnovejših funkcionalnosti, novejšega .NET frameworka in še bi lahko našteval. Torej v tem primeru niti ne izkoriščate najnovejšega SharePointa v polni meri, kar pa zame vsekakor ni sprejemljivo, zato sem seveda stvar, kot se spodobi, raziskal do konca.

Glavni krivec je kombinacija verzije SharePointa in Windows Serverja ter default namestitev Windows Feature-jev.

Torej gre enostavno za to, da si namestite kompletno SharePoint Server Subscription Edition okolje po enem od tutorialov, ki ga najdete na spletu:

  • Windows Server 2022
  • SQL Server 2019
  • SharePoint Server Subscription Edition

In na ta-isti server namestite razvojna orodja za SharePoint, kot ste to vajeni iz starejših verzij SharePointa (mimogrede za najnovejši SharePoint seveda dokumentacije o tem ni nikjer):

  • Visual Studio 2022
  • Office/SharePoint development workload za Visual Studio (spodaj na sliki)

Nato v Visual Studio 2022 kreirate nov SharePoint Empty projekt. Takrat vam v oči skoči že prva stvar in sicer, da najnovejši SharePoint sploh nima več svoje projektne predloge. Smiselno se vam takrat zazdi, da vzamete predlogo za SharePoint 2019, saj pri njej piše, da naj bi delovala tudi na novejših verzijah SharePointa. Opozarjam, to da imata verzija SharePoint 2019 in SharePoint 2022 isto verzijo projektne predloge še ne pomeni, da lahko za SharePoint 2022 razvijete kar SharePoint 2019 solution na SharePoint 2019 serverju, saj Visual Studio in posledično vaša koda še vedno uporablja v ozadju knjižnice (server ali client-side) ciljnega SharePoint serverja, ki se pa definitivno razlikujejo.

Ko želite na projekt, ki ga predhodno povežete na obstoječi SharePoint Web Application (kot ste to vajeni v SharePoint svetu razvoja že od prej), dodati nek SharePoint gradnik (Web Part, List, Content Type, Site Column), pridete do sledeče napake:

Ali pa, ko preko Visual Studia, na praznem SharePoint projektu poženete Deploy/Retract solutiona na SharePoint Server (desna tipka na projekt, izbereš Deploy ali Retract opcijo), dobite spodnjo napako:

Error occurred in deployment step 'Recycle IIS Application Pool': A task was canceled.

Za rešitev vseh težav, da bi sploh lahko kaj za SharePoint Server Subscription Edition normalno razvili na Windows Server 2022 okolju v kombinaciji z Visual Studio 2022 orodjem, odprite PowerShell in v njemu poženite naslednjo kombinacijo ukazov:

  1. get-windowsfeature -name Web-WMI
    S tem ukazom preverite, ali je na serverju nameščen Windows feature IIS 6 WMI Compatibility
    Če ga ni, poženite naslednji ukaz, sicer skočite na točko 3.
  2. install-windowsfeature -name Web-WMI
    S tem ukazom namestitev zgoraj omenjeni Windows feature
  3. get-windowsfeature -name NET-Framework-Core
    Preveriti morate tudi, ali imate nameščen .NET Framework 3.5, ki ga SharePoint Toolsi znotraj Visual Studia, tudi v verziji 2022, še vedno uporabljajo. By-default ne pride avtomatsko nameščen, ko izbereš, da bi rad namestil Office/SharePoint development workload za Visual Studio (še ena Microsoft napaka oz nedoslednost).
    Če ga ni (kar je zelo verjetno, sicer nimate enakega problema, kot ga opisuje ta članek), poženite naslednji ukaz pod točko 4.
  4. install-windowsfeature -name NET-Framework-Core

In glej ga zlomka, problemov ni več. 😊

P.S.: zgornje rešitve na spletu (seveda kot se za Microsoft spodobi, oz kot se za najnovejšo verzijo SharePoint 2022 spodobi) ni nikjer dokumentirane, zato še toliko bolj, berite članke v Piki, pa boste v njej izvedli marsikaj, še preden bo to uradno rešeno. 😉

Gašper Rupnik
Vodja razvoja, predavatelj
MCT, MS, MCSD, MCPS
gasper.rupnik@kompas-xnet.si



Če bi se radi naučili še kaj več, se lahko že danes prijavite na tečaje SharePointa, kjer boste vse skupaj spoznali še dosti hitreje in podrobneje.
No-Code SharePoint 2013-2019 Workflows with SharePoint Designer 2013 and Visio

Kdaj: 6. - 8. 3. 2023

Poglej več
SharePoint Online for Administrators

Kdaj: 20. - 22. 3. 2023

Poglej več

Need assistance?
Need assistance?