U bevindt zich nu op een technische pagina over de software Mercator. Deze pagina bevat specifieke informatie die bestemd is voor professionals van de software Mercator. Wenst u naar algemenere informatie over Mercator door te gaan?


   Deze vraag niet meer stellen

Migratiestrategie naar .net 5

0000003007     -      31-01-2021

Mercator wordt momenteel gecompileerd voor het .net Framework 4.6. In november 2020 bracht Microsoft een grote release uit van de .net-omgeving met de .net-versie 5.0. Deze versie is niet de evolutie van het framework dat momenteel door Mercator wordt gebruikt, maar een update van .net Core 3.0. De migratie van Mercator naar .net 5.0 vereist dan ook enkele aanpassingen. Onze migratiestrategie is gericht op compatibiliteit met .net5 + Platform Extensies. Er is geen project om Mercator platformonafhankelijk te maken. Het zal daarom altijd in de Windows-omgeving worden gebruikt.

De ontwikkelaars moeten deze evolutie volgen, aangezien dit gevolgen kan hebben op het niveau van verschillende programma's die rond Mercator worden uitgevoerd. Het is daarom noodzakelijk :

  • om de code van customizers en andere programmeringen aan te passen, rekening houdend met de klassen die zijn ingetrokken of gewijzigd in de Mercator-broncode (zie onderstaande lijst);
  • gebruik de .net Portability Analyzer om de klassen te identificeren die niet bruikbaar zijn in .net5 + Platform Extensies, en pas de code dienovereenkomstig aan.

De wijzigingen die aan Mercator zijn aangebracht, worden hieronder samengevat. Deze lijst zal voortdurend evolueren en er moet rekening mee worden gehouden om elke ontwikkeling rond Mercator dienovereenkomstig aan te passen.

18/01/2021

Vervang ContextMenu door ContextMenuStrip

ContextMenu wordt niet overgenomen in de nieuwe omgeving. U moet in plaats daarvan ContextMenuStrip gebruiken, die dezelfde functionaliteit biedt.

 Mogelijke impact in de code (klein)

Als aangepaste code rechtstreeks Form.ContextMenu of Control.ContextMenu aanspreekt om bijvoorbeeld een menupunt uit te schakelen, moet er rekening mee worden gehouden dat deze eigenschappen nu null zijn. Mercator instantieert nu Form.ContextMenuStrip en Control.ContextMenuStrip. De items in deze contextmenu's zijn niet langer MenuItem maar ToolStripMenuItem. In zo'n contextmenu moet de Popup-gebeurtenis worden vervangen door Opened. Een menu-scheidingsteken wordt niet langer aangemaakt via new MenuItem("-") maar via new ToolStripSeparator().


Vervang SOAP-client door System.Net voor webservice https://peppol.helger.com/wsdvs?wsdl

Deze functionaliteit wordt door Mercator gebruikt voor de voorlopige validatie van e-facturen die via CodaBox worden verzonden. Dit is een puur interne Mercator-functionaliteit. Geen invloed op aangepaste code.


Vervang System.Device.Location.GeoCoordinate door _BaseClasses.GeoCoordinate

Mogelijke impact in de code (klein)

Deze code is te vinden op de geografische kaarten die Mercator kan weergeven en meer precies met betrekking tot markers. Als de oude klasse wordt gebruikt, vervangt u deze door de nieuwe.


Verwijdering van SEQR-functies omdat ze een SOAP-webservice gebruikten

Geen impact omdat SEQR niet meer bestaat. De optie SEQR wordt door Mercator niet langer in aanmerking genomen.


Vervang SOAP-client door System.Net voor webservice checkVatPort

Communicatie met checkVatPort (VIES - controle van een btw-nummer) verloopt niet meer via SOAP. Als een aangepaste code ook deze SOAP-webservice heeft gebruikt, raden we u aan om onze functie MercatorController.xFunctions.xNumTvaVies te gebruiken die de nieuwe verbinding met de webservice gebruikt.


Lokaal aanmaken van het SNK-bestand zonder de webservice SOAP te gebruiken

Functionaliteit die puur intern is voor Mercator.


Migreer Mercator SOAP-webservice naar restApi voor jobs, update unikey, testlicentie, log customizers & triggers, certificaat shield Azure, Peppol info, register IsabelGo

Functionaliteiten die puur intern zijn voor Mercator.


Verwijdering van de PluralizationService in MercatorEditor

Functionaliteit die puur intern is voor Mercator.


SqlDataSourceEnumerator verwijderen uit MercatorReporting

Functie niet gebruikt.