Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u een uitbreidingsontwikkelaar bent, kunt u in dit artikel zien hoe uw extensies werken in Visual Studio 2026. Met Visual Studio 2026 kunnen gebruikers eenvoudig uw Visual Studio 2022-extensies installeren.
Omdat er minimale breaking changes zijn, zou het upgraden van uw extensie eenvoudig moeten zijn. Met Visual Studio 2026 kunt u uw bestaande extensie testen en ons feedback geven.
Notitie
De informatie in dit artikel heeft betrekking op het upgraden van een extensie van Visual Studio 2022 voor gebruik met Visual Studio 2026.
Voor informatie over het upgraden van een Visual Studio 2019-extensie om te werken met Visual Studio 2022 of Visual Studio 2026, schakelt u over naar de Visual Studio 2022-versie van deze pagina met behulp van de vervolgkeuzelijst versie, net boven de inhoudsopgave.
Uw extensie installeren en testen:
Installeer de nieuwste Versie van Visual Studio 2026.
Navigeer naar Extension Manager.
Gebruik de zoekfunctie om uw extensie te vinden.
Installeer het en bevestig dat het werkt zoals verwacht.
Als uw extensie een MSI is, moet u mogelijk het installatieprogramma wijzigen om de installatie van Visual Studio 2022-extensies op Visual Studio 2026 toe te staan.
Voorlopig zijn er geen instructies voor het maken van extensies specifiek voor Visual Studio 2026. U kunt echter Visual Studio 2022-extensies testen en gebruiken met Visual Studio 2026
Brekende wijzigingen
Het IntegratedShell installatiedoel is verwijderd. Als uw extensiedoelen IntegratedShellzijn, moet het InstallationTarget in het VSIX-manifest worden bijgewerkt naar het doel Microsoft.VisualStudio.Community. Open het VSIX-manifest in de ontwerper om het te controleren of te wijzigen, en selecteer vervolgens InstallationTarget. U kunt het .vsixmanifest bestand openen in de XML-teksteditor om de InstallationTarget instellingen te controleren.
Zie Belangrijke wijzigingen voor Visual Studio Extensibility voor meer informatie over belangrijke wijzigingen.
Feedback en rapportage over problemen
Als u problemen ondervindt met uw extensies in Visual Studio 2026, meldt u het probleem hier en neemt u een verwijzing naar het ticket op.
Belangrijk
Het advies in dit artikel kan ontwikkelaars helpen bij het upgraden van extensies waarvoor grote wijzigingen moeten worden doorgevoerd in zowel Visual Studio 2019 als Visual Studio 2022 of hoger. In die gevallen raden we u aan twee VSIX-projecten en voorwaardelijke compilatie te hebben.
Veel extensies werken in zowel Visual Studio 2019 als Visual Studio 2022 (of hoger) met kleine wijzigingen die niet nodig zijn om het advies te volgen over het moderniseren van uw extensie in dit artikel. Probeer uw extensie in Visual Studio 2022 en evalueer welke optie het beste is voor uw extensie.
Voor informatie over het upgraden van een Visual Studio 2022-extensie voor gebruik met Visual Studio 2026, schakelt u over naar de nieuwste versie van deze pagina met behulp van de vervolgkeuzelijst versie, net boven de inhoudsopgave.
Visual Studio 2022 is een 64-bits toepassing en introduceert belangrijke wijzigingen in de Visual Studio SDK. In dit artikel worden de stappen beschreven die nodig zijn om uw extensie te laten werken met de huidige preview van Visual Studio 2022. Uw extensie kan vervolgens klaar zijn om gebruikers te installeren voordat Visual Studio 2022 algemene beschikbaarheid bereikt.
Visual Studio installeren en extensies compileren
Installeer Visual Studio 2022 vanuit Visual Studio 2022-downloads.
Extensies die zijn geschreven in een .NET-taal
De Visual Studio SDK die is gericht op Visual Studio 2022 voor beheerde extensies, bevindt zich uitsluitend op NuGet:
- De Metapackage van Microsoft.VisualStudio.Sdk (17.x-versies) bevat de meeste of alle referentieassembly's die u nodig hebt.
- Er moet naar het pakket Microsoft.VSSDK.BuildTools (17.x-versies) worden verwezen vanuit uw VSIX-project, zodat een Visual Studio 2022-compatibele VSIX kan worden gebouwd.
Zelfs als u niet naar brekende wijzigingen verwijst, moeten extensies worden gecompileerd met het Any CPU- of x64-platform. Het x86-platform is niet compatibel met het 64-bits proces in Visual Studio 2022.
Extensies geschreven in C++
De Visual Studio SDK voor extensies die zijn gecompileerd met C++ is zoals gebruikelijk beschikbaar met de geïnstalleerde Visual Studio SDK.
Zelfs als u niet verwijst naar belangrijke wijzigingen, moeten extensies specifiek worden gecompileerd op basis van de Visual Studio 2022 SDK en voor AMD64.
Extensies met actieve code
Extensies met actieve code moeten specifiek worden gecompileerd voor Visual Studio 2022. Visual Studio 2022 laadt geen uitbreidingen die gericht zijn op een eerdere versie van Visual Studio.
Meer informatie over het migreren van uw extensies voor eerdere Visual Studio-versies naar Visual Studio 2022:
- uw projecten moderniseren.
- uw broncode herstructureren in een gedeeld project om doelversies van Visual Studio 2022 en oudere versies mogelijk te maken.
- Een op Visual Studio 2022 gericht VSIX-project toevoegen en een tabel voor het opnieuw toewijzen van pakketten/assembly's.
- Breng de benodigde codewijzigingen aan.
- Test uw Visual Studio 2022-extensie.
- Uw Visual Studio 2022-extensiepubliceren.
Extensies zonder code uit te voeren
Extensies die geen actieve code bevatten (bijvoorbeeld project- of itemsjablonen) zijn niet vereist om de voorgaande stappen uit te voeren, inclusief de productie van twee afzonderlijke VSIX's.
Wijzig in plaats daarvan de ene VSIX zodat het source.extension.vsixmanifest bestand twee installatiedoelen declareert:
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,17.0)">
<ProductArchitecture>x86</ProductArchitecture>
</InstallationTarget>
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
<ProductArchitecture>amd64</ProductArchitecture>
</InstallationTarget>
</Installation>
U kunt de stappen in dit artikel over het gebruik van gedeelde projecten en meerdere VSIX's overslaan. U kunt doorgaan met het testen van met.
Notitie
Als u een nieuwe Visual Studio-extensie maakt met behulp van Visual Studio 2022 en u ook Visual Studio 2019 of een eerdere versie wilt targeten, raadpleegt u deze handleiding.
MSBuild-taken
Als u MSBuild-taken maakt, moet u er rekening mee houden dat deze in Visual Studio 2022 waarschijnlijk worden geladen in een 64-bits MSBuild.exe proces. Als voor uw taak een 32-bits proces moet worden uitgevoerd, raadpleegt u Doelen en taken configureren om ervoor te zorgen dat MSBuild uw taak in een 32-bits proces laadt.
Uw VSIX-project moderniseren
Voordat u Visual Studio 2022-ondersteuning toevoegt aan uw extensie, raden we u ten zeerste aan om uw bestaande project op te schonen en te moderniseren:
Vervang eventuele directe Visual Studio SDK-assemblyverwijzingen door
PackageReferenceitems:-<Reference Include="Microsoft.VisualStudio.OLE.Interop" /> +<PackageReference Include="Microsoft.VisualStudio.OLE.Interop" Version="..." />Tip
U kunt veel assemblyverwijzingen vervangen door slechts één
PackageReferenceexemplaar voor de metapackage:-<Reference Include="Microsoft.VisualStudio.OLE.Interop" /> -<Reference Include="Microsoft.VisualStudio.Interop" /> -<Reference Include="Microsoft.VisualStudio.Interop.8.0" /> +<PackageReference Include="Microsoft.VisualStudio.Sdk" Version="..." />Zorg ervoor dat u pakketversies kiest die overeenkomen met de minimale versie van Visual Studio waarop u zich richt.
Sommige assembly's die niet uniek zijn voor de Visual Studio SDK (bijvoorbeeld Newtonsoft.Json.dll) zijn mogelijk gedetecteerd via een eenvoudige <Reference Include="Newtonsoft.Json" /> verwijzing vóór Visual Studio 2022. Maar in Visual Studio 2022 hebben ze in plaats daarvan een pakketreferentie nodig. De reden hiervoor is dat sommige Visual Studio-runtime- en SDK-mappen zijn verwijderd uit het standaardzoekpad voor assembly's in MSBuild.
Als u overstapt van directe assemblyverwijzingen naar NuGet-pakketverwijzingen, kunt u extra assemblyverwijzingen en analysepakketten ophalen, omdat NuGet automatisch de transitieve sluiting van afhankelijkheden installeert. Dit is over het algemeen ok, maar dit kan leiden tot extra waarschuwingen tijdens uw build. Werk deze waarschuwingen door en los er zoveel mogelijk op. Overweeg het gebruik van in-code #pragma warning disable <id> regio's om waarschuwingen te onderdrukken die u niet kunt oplossen.
Gedeelde projecten gebruiken voor meerdere targeting
Gedeelde projecten zijn een projecttype dat is geïntroduceerd in Visual Studio 2015. Met gedeelde projecten in Visual Studio kunnen broncodebestanden worden gedeeld tussen meerdere projecten en anders worden gebouwd met behulp van voorwaardelijke compilatiesymbolen en unieke sets met verwijzingen.
Visual Studio 2022 vereist een afzonderlijke set referentieassembly's uit alle eerdere Visual Studio-versies. Daarom raden we u aan gedeelde projecten te gebruiken om uw extensie eenvoudig te richten op Visual Studio 2022, eerdere versies en latere versies. Met deze techniek krijgt u gedeelde code, maar toch unieke verwijzingen.
In de context van Visual Studio-extensies kunt u één VSIX-project hebben voor Visual Studio 2022 en hoger, en één VSIX-project voor Visual Studio 2019 en eerder. Elk van deze projecten bevat slechts een source.extension.vsixmanifest exemplaar en de pakketverwijzingen naar de SDK 16.x of de 17.x SDK. Deze VSIX-projecten hebben ook een gedeelde projectreferentie naar een nieuw gedeeld project dat alle broncode host die kan worden gedeeld in de twee Visual Studio-versies.
In deze sectie wordt ervan uitgegaan dat u al een VSIX-project hebt dat is gericht op Visual Studio 2019 en dat u wilt dat uw extensie werkt op Visual Studio 2022.
U kunt al deze stappen uitvoeren met behulp van Visual Studio 2019:
Als u dit nog niet hebt gedaan, moderniseer uw projecten om stappen verderop in dit updateproces te vereenvoudigen.
Voeg een nieuw gedeeld project toe aan uw oplossing voor elk bestaand project dat verwijst naar de Visual Studio SDK. Klik met de rechtermuisknop op de oplossing en selecteer Add>New Project.
Zoek in het dialoogvenster Een nieuw project toevoegen naar gedeeld projecten selecteer daarna de sjabloon Gedeeld project.
Voeg een verwijzing uit elk Visual Studio SDK-verwijzingsproject toe aan de tegenhanger van het gedeelde project.
Verplaats alle broncode (inclusief .cs en .resx-bestanden) van elk Visual Studio SDK-verwijzend project naar de tegenhanger van het gedeelde project. Laat het bestand source.extension.vsixmanifest in het VSIX-project staan.
Verplaats metagegevensbestanden (bijvoorbeeld releaseopmerkingen, licenties en pictogrammen) en VSCT-bestanden naar een gedeelde map. Voeg ze vervolgens toe als gekoppelde bestanden aan het VSIX-project. Houd er rekening mee dat de gedeelde map gescheiden is van het gedeelde project.
Voor metagegevensbestanden stelt u Build Action in op Inhoud. Stel Opnemen in VSIX- in op True.
Voor VSCT-bestanden stelt u Build Action- in op VSCTCompile-. Stel Opnemen in VSIX- in op False.
Als Visual Studio klaagt dat deze instelling niet wordt ondersteund, kunt u de buildactie handmatig wijzigen door het project te verwijderen en
Contentte wijzigen inVSCTCompile:-<Content Include="..\SharedFiles\VSIXProject1Package.vsct"> - <Link>VSIXProject1Package.vsct</Link> -</Content> +<VSCTCompile Include="..\SharedFiles\VSIXProject1Package.vsct"> + <Link>VSIXProject1Package.vsct</Link> + <ResourceName>Menus.ctmenu</ResourceName> +</VSCTCompile>
Bouw uw project om te controleren of u geen fouten hebt gemaakt.
Uw project is nu klaar om ondersteuning voor Visual Studio 2022 toe te voegen.
Een Visual Studio 2022-doel toevoegen
In deze sectie wordt ervan uitgegaan dat u de stappen hebt uitgevoerd om uw Visual Studio-extensie te factor met gedeelde projecten.
Voeg visual Studio 2022-ondersteuning toe aan uw extensie met behulp van de volgende stappen. U kunt ze voltooien met behulp van Visual Studio 2019.
Voeg een nieuw VSIX-project toe aan uw oplossing. Dit project richt zich op Visual Studio 2022. Verwijder alle broncode die bij de sjabloon is geleverd, maar behoud het bestand source.extension.vsixmanifest bestand.
Voeg in uw nieuwe VSIX-project een verwijzing toe naar hetzelfde gedeelde project waarnaar uw VSIX voor Visual Studio 2019 verwijst.
Controleer of het nieuwe VSIX-project correct wordt gebouwd. Mogelijk moet u verwijzingen toevoegen die overeenkomen met uw oorspronkelijke VSIX-project om eventuele compilerfouten op te lossen.
Werk voor beheerde Visual Studio-extensies uw pakketverwijzingen bij van 16.x (of eerder) naar de 17.x-pakketversies in uw Visual Studio 2022-doelprojectbestand. Gebruik NuGet Package Manager of bewerk het projectbestand rechtstreeks:
-<PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.206" /> +<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0" /> -<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.10.32" /> +<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0" />De versies die in de voorgaande code worden weergegeven, zijn alleen bedoeld voor demonstratie. Gebruik in uw code versies die beschikbaar zijn op de NuGet-website.
In veel gevallen zijn pakket-ID's gewijzigd. Raadpleeg de tabel voor pakket-/assemblytoewijzing voor een lijst met wijzigingen in Visual Studio 2022.
Extensies die zijn geschreven in C++ hebben nog geen beschikbare SDK om mee te compileren.
Voor C++-projecten moeten extensies worden gecompileerd voor AMD64. Voor beheerde extensies kunt u overwegen uw project te veranderen van een build voor elke CPU zodat het zich richt op x64. Deze wijziging zorgt ervoor dat uw extensie in Visual Studio 2022 altijd in een 64-bits proces wordt geladen. Elke CPU- ook prima is, maar het kan waarschuwingen opleveren als u verwijst naar systeemeigen binaire x64-bestanden.
Elke afhankelijkheid die uw extensie op een systeemeigen module kan hebben, moet worden bijgewerkt van een x86-afbeelding naar een AMD64-afbeelding.
Bewerk uw source.extension.vsixmanifest bestand om het doel van Visual Studio 2022 weer te geven. Stel de
<InstallationTarget>-tag in om Visual Studio 2022 aan te geven. Stel hetProductArchitecture-element in om een AMD64-nettolading aan te geven.<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)"> <ProductArchitecture>amd64</ProductArchitecture> </InstallationTarget>Belangrijk
In Visual Studio 2019 maakt de ontwerpfunctie voor dit bestand het nieuwe
ProductArchitecture-element niet beschikbaar. U moet een XML-editor gebruiken om deze wijziging aan te brengen. Als u toegang wilt krijgen tot de XML-editor, gaat u naar Solution Explorer en selecteert u de opdracht Openen met.Het
ProductArchitectureelement is essentieel. Visual Studio 2022 installeert uw extensie er niet zonder.Element Waarde Beschrijving ProductArchitecturex86,amd64De platforms die door deze VSIX worden ondersteund. Niet hoofdlettergevoelig. Gebruik één platform per element en één element per InstallationTargetexemplaar. Voor productversies kleiner dan 17.0 is de standaardwaardex86en kan deze worden weggelaten. Voor productversie 17.0 en hoger is dit element vereist en is er geen standaardwaarde. Voor Visual Studio 2022 is de enige geldige inhoud voor dit elementamd64.Breng eventuele andere aanpassingen aan die nodig zijn in source.extension.vsixmanifest zodat deze overeenkomt met het bestand dat is gericht op Visual Studio 2019 (indien aanwezig).
Als u twee versies van uw extensie publiceert die elk zijn gericht op een andere versie van Visual Studio, moet u ervoor zorgen dat de id van de VSIX in het
Identityelement van het manifest verschilt voor elke extensie.
Op dit moment hebt u een Visual Studio 2022-gerichte extensie VSIX. U moet uw Op Visual Studio 2022 gerichte VSIX-project bouwen en eventuele build-einden doorlopen dieworden weergegeven. Als u geen build-onderbrekingen hebt in uw op Visual Studio 2022 gerichte VSIX-project, gefeliciteerd! U bent klaar om te testen.
Brekende API-wijzigingen verwerken
Belangrijke API-wijzigingen vereisen mogelijk updates voor code die is uitgevoerd in eerdere versies van Visual Studio. Zie Belangrijke API-wijzigingen in Visual Studio 2022voor tips over het bijwerken van uw code.
Wanneer u uw code aanpast, wordt u aangeraden voorwaardelijke compilatiete gebruiken. Uw code kan vervolgens eerdere Visual Studio-versies blijven ondersteunen tijdens het toevoegen van ondersteuning voor Visual Studio 2022.
Wanneer u het uitbreidingsgebouw voor Visual Studio 2022 krijgt, gaat u verder met testen van.
Symbolen voor voorwaardelijke compilatie gebruiken
Als u dezelfde broncode, zelfs hetzelfde bestand, wilt gebruiken voor Visual Studio 2022 en eerdere versies, moet u mogelijk voorwaardelijke compilatie gebruiken. Vervolgens kunt u uw code forken om zich aan te passen aan ingrijpende wijzigingen. Voorwaardelijke compilatie is een functie van de C#-, Visual Basic- en C++-talen. Het kan worden gebruikt om de meeste code te delen, terwijl er op specifieke plaatsen verschillende API's worden geïntegreerd.
Zie C#-preprocessorrichtlijnenvoor meer informatie over het gebruik van preprocessorrichtlijnen en voorwaardelijke compilatiesymbolen.
Uw projecten waarop eerdere Visual Studio-versies zijn gericht, hebben een symbool voor voorwaardelijke compilatie nodig. Dit symbool kan vervolgens worden gebruikt om de code te forkeren om de verschillende API's te gebruiken. U kunt het symbool voor voorwaardelijke compilatie instellen op de pagina met projecteigenschappen:
Zorg ervoor dat u het compilatiesymbool instelt voor Alle configuraties. Standaard is het symbool dat u invoert mogelijk van toepassing op slechts één configuratie.
C#-technieken
U kunt uw compilatiesymbool gebruiken als een preprocessorrichtlijn (#if), zoals wordt weergegeven in de volgende code. Vervolgens kunt u uw code forkeren om een belangrijke wijziging tussen Visual Studio-versies aan te pakken.
Guid myGuid = new Guid("{633FBA02-719B-40E7-96BF-0899767CD104}");
uint myFlags = 0;
IVsShell shell = await AsyncServiceProvider.GlobalProvider.GetServiceAsync<SVsShell, IVsShell>();
#if Dev16
shell.LoadUILibrary(myGuid, myFlags, out uint ptrLib);
#else
shell.LoadUILibrary(myGuid, myFlags, out IntPtr ptrLib);
#endif
In sommige gevallen kunt u var gebruiken om de naam van het type te voorkomen en te voorkomen dat #if regio's nodig zijn. Het voorgaande fragment kan ook worden geschreven als:
Guid myGuid = new Guid("{633FBA02-719B-40E7-96BF-0899767CD104}");
uint myFlags = 0;
IVsShell shell = await AsyncServiceProvider.GlobalProvider.GetServiceAsync<SVsShell, IVsShell>();
shell.LoadUILibrary(myGuid, myFlags, out var ptrLib);
Wanneer u de #if-syntaxis gebruikt, zult u zien hoe u de vervolgkeuzelijst voor de taalservicecontext kunt gebruiken om de syntaxmarkering te wijzigen. De andere vervolgkeuzelijst helpt de taalservice om de aandacht te vestigen op de ene Visual Studio-doelversie voor deze extensie versus een andere.
XAML-deeltechnieken
XAML heeft geen preprocessor om het aanpassen van inhoud op basis van preprocessorsymbolen toe te staan. Mogelijk moet u twee XAML-pagina's kopiëren en onderhouden waarvan de inhoud verschilt tussen Visual Studio 2022 en eerdere versies.
In sommige gevallen kan een verwijzing naar een type dat bestaat in afzonderlijke assembly's in Visual Studio 2022 en eerdere versies nog steeds worden weergegeven in één XAML-bestand. Verwijder de naamruimte die verwijst naar de assembly:
-xmlns:vsui="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"
-Value="{DynamicResource {x:Static vsui:TreeViewColors.SelectedItemActiveBrushKey}}"
+Value="{DynamicResource TreeViewColors.SelectedItemActiveBrushKey}"
Uw extensie testen
Als u een extensie wilt testen die is gericht op Visual Studio 2022, moet Visual Studio 2022 zijn geïnstalleerd. U kunt geen 64-bits extensies uitvoeren in eerdere versies van Visual Studio.
U kunt Visual Studio 2022 gebruiken om uw extensies te bouwen en te testen, ongeacht of ze gericht zijn op Visual Studio 2022 of een eerdere versie. Wanneer u een VSIX-project opent vanuit Visual Studio 2022, wordt een experimenteel exemplaar van Visual Studio geopend.
We raden u ten zeerste aan om te testen met elke versie van Visual Studio die u wilt ondersteunen door de extensie.
Uw extensie publiceren
U hebt een Visual Studio 2022-doel aan uw extensie toegevoegd en getest. Nu bent u klaar om de extensie te publiceren, zodat de wereld deze kan bewonderen.
Visual Studio Marketplace
Het publiceren van uw extensie naar Visual Studio Marketplace- is een uitstekende manier om nieuwe gebruikers te helpen uw extensie te vinden en te installeren. Of uw extensie nu uitsluitend is gericht op Visual Studio 2022 of op oudere Visual Studio-versies, de Marketplace is er om u te ondersteunen.
In de toekomst kunt u met Marketplace meerdere VSIXs uploaden naar slechts één Marketplace-vermelding. Vervolgens kunt u een VSIX voor Visual Studio 2022 en een VSIX voor een eerdere versie van Visual Studio uploaden. Uw gebruikers krijgen automatisch de juiste VSIX voor de Visual Studio-versie die ze hebben geïnstalleerd, wanneer ze de Visual Studio-extensiebeheer gebruiken.
Aangepast installatieprogramma
Als u een MSI- of EXE-bestand bouwt om uw extensie te installeren en vsixinstaller.exe aanroept om (een deel van) uw extensie te installeren, weet dan dat het VSIX-installatieprogramma in Visual Studio 2022 is bijgewerkt. Ontwikkelaars moeten de versie van het VSIX-installatieprogramma gebruiken dat bij Visual Studio 2022 wordt geleverd om extensies voor die versie van Visual Studio te installeren.
Het VSIX-installatieprogramma in Visual Studio 2022 installeert ook toepasselijke extensies die gericht zijn op eerdere versies van Visual Studio die bestaan met Visual Studio 2022 op dezelfde computer.
Netwerkshare
U kunt uw extensie delen via een LAN of op een andere manier. Als u zich richt op Visual Studio 2022 en eerdere versies, moet u uw meerdere VSIX-bestanden afzonderlijk delen. Geef ze bestandsnamen (of plaats ze in unieke mappen) waarmee uw gebruikers weten welke VSIX moet worden geïnstalleerd op basis van de versie van Visual Studio die ze hebben geïnstalleerd.
Afhankelijkheden
Als uw VSIX andere VSIX's opgeeft als afhankelijkheden via het <dependency>-element, moet elke waarnaar wordt verwezen VSIX worden geïnstalleerd in dezelfde doelen en productarchitecturen als uw VSIX. Als een afhankelijke VSIX geen ondersteuning biedt voor de doelinstallatie van Visual Studio, mislukt uw VSIX.
Het is in orde dat de afhankelijke VSIX meer doelen en architecturen ondersteunt dan die van u, maar niet minder. Deze beperking betekent dat de implementatie- en distributiebenadering van een VSIX met afhankelijkheden hetzelfde moet zijn als die van de afhankelijkheden waarop het afhankelijk is.
Vragen en antwoorden
Q: voor mijn extensie zijn geen interoperabiliteitswijzigingen vereist, omdat er alleen gegevens worden verstrekt (bijvoorbeeld sjablonen). Kan ik één extensie maken die ook Visual Studio 2022 bevat?
A: Ja! Zie Extensies zonder code uit te voeren voor informatie hierover.
Q: Een NuGet-afhankelijkheid brengt oude interoperabiliteitsassembly's binnen en veroorzaakt conflicterende klassen. Wat moet ik doen?
A-: voeg de volgende regel toe aan het bestand .csproj om dubbele assembly's te voorkomen:
<PackageReference Include="<Name of offending assembly>" ExcludeAssets="compile" PrivateAssets="all" />
Deze code voorkomt dat pakketverwijzingen de oude versie van de assembly importeren uit andere afhankelijkheden.
Q: Mijn opdrachten en sneltoetsen werken niet meer in Visual Studio nadat ik mijn bronbestanden heb overgezet naar een gedeeld project. Wat moet ik doen?
A: stap 2.4 van het voorbeeld Image Optimizer laat zien hoe u VSCT-bestanden toevoegt als gekoppelde items, zodat deze worden gecompileerd in uw VSCT-bestand.
Verwante inhoud
Volg een stapsgewijs voorbeeld, ImageOptimizer, met koppelingen naar het project en codewijzigingen voor elke stap.