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.
De volgende fouten treden op wanneer de compiler brongeneratoren of interceptors laadt tijdens de compilatie:
-
CS9137: De functie 'interceptors' is niet ingeschakeld in deze naamruimte. Voeg dit toe
<Features>InterceptorsPreview</Features>aan uw project. - CS9138: Methode 'method' kan niet worden gebruikt als een interceptor omdat het omvattende type typeparameters heeft.
- CS9139: Kan niet onderscheppen: compilatie bevat geen bestand met een specifiek pad.
- CS9140: Kan niet onderscheppen: compilatie bevat geen bestand met pad 'pad'. Wilde u het pad 'candidatePath' gebruiken?
- CS9141: Het opgegeven regel- en tekennummer verwijst niet naar een onderscheppingsbare methodenaam, maar naar token 'token'.
-
CS9142: Het opgegeven bestand bevat
nregels, die kleiner zijn dan het opgegeven regelnummerm. -
CS9143: De opgegeven regel is
ctekens lang, die kleiner zijn dan het opgegeven tekennummern. -
CS9144: Kan methode
Mniet intercepteren met interceptorVomdat de handtekeningen niet overeenkomen. - CS9145: Kan niet onderscheppen: Pad is niet in kaart gebracht. Verwacht in kaart gebracht pad.
- CS9146: Een interceptormethode moet een gewone lidmethode zijn.
- CS9147: Het opgegeven regel- en tekennummer verwijst niet naar het begin van het token 'token'. Wilde u regel 'n' en 'c' gebruiken?
-
CS9148: Interceptor moet een parameter hebben die overeenkomt met parameters
this. -
CS9149: Interceptor mag geen parameter hebben
thisomdat de methode geen parameter heeftthis. -
CS9150: Interceptor kan geen bestandspad hebben
null. -
CS9151: Mogelijke methodenaam
Mkan niet worden onderschept omdat deze niet wordt aangeroepen. - CS9152: Kan een aanroep in bestand niet onderscheppen met pad 'pad' omdat meerdere bestanden in de compilatie dit pad hebben.
- CS9153: De aangegeven oproep wordt meerdere keren onderschept.
-
CS9155: Kan de oproep niet onderscheppen
Momdat deze niet toegankelijk is binnenV. -
CS9156: Kan de aanroep naar
Mniet onderscheppen metVvanwege een verschil in 'scoped'-modifiers of[UnscopedRef]-kenmerken. -
CS9157: De opgegeven
InterceptsLocationAttributeregel- en tekennummers moeten positief zijn. - CS9160: Een operatornaam kan niet worden onderschept.
-
CS9161: Een interceptor kan niet worden gemarkeerd met
UnmanagedCallersOnlyAttribute. - CS9177: Methode 'method' moet niet-generiek zijn of ariteit 'arity' hebben om overeen te stemmen met 'target'.
- CS9178: methode 'methode' moet niet-algemeen zijn om overeen te komen met 'doel'.
- CS9206: Een interceptor kan niet worden gedeclareerd in de globale naamruimte.
- CS9207: Kan methode niet onderscheppen omdat het geen aanroep van een gewone lidmethode is.
- CS9231: Het gegevensargument voor InterceptsLocationAttribute heeft niet de juiste indeling.
- CS9232: Versie 'versie' van het interceptorformaat wordt niet ondersteund. De meest recente ondersteunde versie is '1'.
- CS9233: Kan een aanroep in bestand 'bestand' niet onderscheppen omdat deze elders in de compilatie wordt gedupliceerd.
- CS9234: Kan een aanroep in bestand 'bestand' niet onderscheppen omdat er geen overeenkomend bestand is gevonden in de compilatie.
- CS9235: Het gegevensargument voor InterceptsLocationAttribute verwijst naar een ongeldige positie in bestand 'bestand'.
De volgende waarschuwingen treden op wanneer de compiler brongeneratoren of interceptors laadt tijdens de compilatie:
- CS8032: Er kan geen exemplaar van analysefunctie 'analyzer' worden gemaakt uit 'assembly': 'reason'.
- CS8033: De assembly 'assembly' bevat geen analyzers.
- CS8034: Kan de Analyzer-assembly 'assembly' niet laden: 'reason'
- CS8040: Sommige typen in analyzerassembly 'assembly' worden overgeslagen als gevolg van een ReflectionTypeLoadException: 'exception'.
- CS8700: Meerdere configuratiebestanden voor analyse kunnen zich niet in dezelfde map ('directory').
- CS8784: Generator 'generator' kan niet worden geïnitialiseerd. Deze draagt niet bij aan de uitvoer en hierdoor kunnen compilatiefouten optreden. De uitzondering was van het type 'exception' met het bericht 'message'.
- CS8785: Generator 'generator' kan de broncode niet genereren. Deze levert geen bijdrage aan de uitvoer en hierdoor kunnen compilatiefouten optreden. De uitzondering was van het type 'uitzondering' met het bericht 'bericht'.
- CS8850: De assembly 'assembly' die het type 'type' bevat, verwijst naar .NET Framework, wat niet wordt ondersteund.
- CS9057: Analyzer assembly 'assembly' kan niet worden gebruikt omdat deze verwijst naar versie 'versie' van de compiler, die nieuwer is dan de huidige actieve versie 'currentVersion'.
- CS9067: Analysereferentie 'verwijzing' die meerdere keren is opgegeven
-
CS9154: Een oproep naar
Monderscheppen met de interceptorV, maar de signaturen komen niet overeen. - CS9158: Nullability van referentietypen in returntype komt niet overeen met de intercepteerbare methode.
- CS9159: De nullabiliteit van referentietypen in het type van de parameter komt niet overeen met de intercepteerbare methode.
-
CS9270: '
InterceptsLocationAttribute(string, int, int)' wordt niet ondersteund. Ga in plaats daarvan naar 'InterceptableLocation'-gebaseerde generatie van deze kenmerken. (https://github.com/dotnet/roslyn/issues/72133)
Deze fouten en waarschuwingen volgen deze thema's:
Fouten in brongenerator
- CS8784: Generator 'generator' kan niet worden geïnitialiseerd. Deze levert geen bijdrage aan de uitvoer en hierdoor kunnen compilatiefouten optreden. De uitzondering was van het type 'uitzondering' met het bericht 'bericht'.
- CS8785: Generator 'generator' heeft geen broncode kunnen genereren. Deze levert geen bijdrage aan de uitvoer en als gevolg daarvan kunnen compilatiefouten optreden. De uitzondering was van het type 'exception' met het bericht 'message'.
Deze waarschuwingen geven aan dat een brongenerator tijdens de compilatie een onverwerkte uitzondering heeft veroorzaakt. Broncodegeneratoren worden uitgevoerd als onderdeel van de buildpipeline, en een fout voorkomt dat de generator zijn uitvoer aan de compilatie toevoegt. Zie Brongeneratoren voor meer informatie over het implementeren van brongeneratoren.
Volg deze richtlijnen om deze waarschuwingen te corrigeren:
- Bekijk de volledige uitzonderingsdetails in de build-uitvoer om de hoofdoorzaak te identificeren (CS8784, CS8785). Het waarschuwingsbericht bevat het uitzonderingstype, bericht en stacktracering, waarmee u of de auteur van de generator de fout kan diagnosticeren.
- Zorg ervoor dat alle vereiste afhankelijkheden voor de brongenerator beschikbaar zijn in het project (CS8784). Initialisatiefouten treden vaak op wanneer de generator tijdens het opstarten geen vereiste assembly of resource kan vinden. Controleer of het NuGet-pakket van de generator correct is geïnstalleerd en of alle transitieve afhankelijkheden zijn opgelost.
- Rapporteer de fout bij de onderhouder van de brongenerator als de uitzondering afkomstig is van generatorcode van derden (CS8784, CS8785). Neem de volledige uitzonderingsdetails van de build-uitvoer op in uw foutenrapport.
- Als u de brongenerator hebt gemaakt, voegt u uitzonderingsafhandeling toe binnen uw
InitializeofExecutemethoden om fouten correct te ondervangen en te rapporteren (CS8784, CS8785).
Compatibiliteit van analyse- en brongenerator
- CS8032: Er kan geen instantie van analysefunctie 'analyzer' worden gemaakt vanuit 'assembly' : 'reason'.
- CS8033: De assembly 'assembly' bevat geen analyzers.
- CS8034: Kan de Analyzer-assembly 'assembly' niet laden: 'reason'
- CS8040: Sommige typen in analyzerassembly 'assembly' worden overgeslagen vanwege een ReflectionTypeLoadException : 'exception'.
- CS8700: Meerdere configuratiebestanden voor analyse kunnen zich niet in dezelfde map ('directory').
- CS8850: De assembly 'assembly' die het type 'type' bevat, verwijst naar .NET Framework, wat niet wordt ondersteund.
- CS9057: Analyzer assembly 'assembly' kan niet worden gebruikt omdat deze verwijst naar versie 'versie' van de compiler, die nieuwer is dan de huidige actieve versie 'currentVersion'.
- CS9067: Analyzerverwijzing 'reference' is meerdere keren opgegeven
Deze waarschuwingen en fouten geven problemen aan met het laden, instantiëren of configureren van analyse- en brongeneratorassembly's. Omdat brongeneratoren als analyzer-assembly’s worden geladen, zijn deze diagnostische meldingen van toepassing op zowel analyzers als brongeneratoren.
Volg deze richtlijnen om deze problemen op te lossen:
- Werk uw .NET SDK of compilerversie bij zodat deze overeenkomt met de vereisten van de analyzer of gebruik een oudere versie van het analysepakket dat compatibel is met uw huidige compiler (CS9057). Deze fout treedt op wanneer een analyzer-assembly is gericht op een nieuwere Roslyn-API-versie dan de actieve compiler biedt.
- Verwijder dubbele analyseverwijzingen uit uw project (CS9067). Controleer uw projectbestand op herhaalde elementen
<Analyzer>of<PackageReference>die dezelfde analyzer-assembly via verschillende paden opnemen. Transitieve pakketafhankelijkheden kunnen ook duplicaten veroorzaken. - Controleer of de analyzer-assembly een geldige .NET assembly is en niet is beschadigd (CS8034). Als de assembly helemaal niet kan worden geladen, controleert u of het bestand bestaat op het pad waarnaar wordt verwezen en is gebouwd voor een compatibel doelframework. Bouw het NuGet-pakket opnieuw of installeer het opnieuw om een nieuwe kopie op te halen.
- Zorg ervoor dat het analysetype een openbare parameterloze constructor (CS8032) heeft. De compiler instantieert analyses door de standaardconstructor aan te roepen. Als de constructor een uitzondering genereert of parameters vereist, kan de analyse niet worden gemaakt.
- Controleer of de assembly waarnaar wordt verwezen, de analyse- of brongeneratortypen (CS8033) daadwerkelijk exporteert. Een assembly die als een analyzer wordt aangeduid, moet typen bevatten die
DiagnosticAnalyzerofISourceGenerator/IIncrementalGeneratorimplementeren. Als de assembly een runtime-afhankelijkheid is in plaats van een analyse, verwijst u ernaar als een normaal project of pakketreferentie. - Los problemen met het laden van typen in de assembly van het analyseprogramma op door te zorgen dat alle afhankelijkheden beschikbaar zijn (CS8040). Een
ReflectionTypeLoadExceptionbetekent meestal dat de assembly verwijst naar typen uit andere assembly's die niet kunnen worden gevonden. Zorg ervoor dat alle vereiste afhankelijkheden zijn opgenomen in het NuGet-pakket van de analyzer. - Zorg ervoor dat analyseconfiguratiebestanden (
.editorconfigof.globalconfig) uniek zijn per map (CS8700). De compiler staat niet meerdere analyseconfiguratiebestanden in dezelfde map toe, omdat de prioriteitsregels dubbelzinnig zijn. Voeg de bestanden samen of verwijder het duplicaat. - Werk de analyse- of brongenerator bij naar .NET Standard of moderne .NET in plaats van .NET Framework (CS8850). Assembly's die verwijzen naar .NET Framework worden niet ondersteund in de moderne .NET compilerhulpprogrammaketen. Als u de analyzer onderhoudt, retarget deze dan naar
netstandard2.0. Als het een pakket van derden is, voert u een upgrade uit naar een versie die moderne .NET ondersteunt.
Interceptors zijn experimenteel
-
CS9137: De functie 'interceptors' is niet ingeschakeld in deze naamruimte. Voeg dit toe
<Features>InterceptorsPreview</Features>aan uw project.
Als u interceptors wilt gebruiken, voegt u het <Features>InterceptorsPreview</Features> element toe aan uw projectbestand in een <PropertyGroup> sectie (CS9137). Interceptors zijn een experimentele functie en zijn niet standaard ingeschakeld. Deze expliciete aanmelding is vereist omdat de interceptorsfunctie onderhevig is aan belangrijke wijzigingen of verwijdering in toekomstige releases. De compiler moet bevestigen dat u de risico's begrijpt voordat u het gebruik ervan toestaat. Zie Interceptors in de documentatie over C# 12-functies voor meer informatie over interceptors en hun mogelijkheden.
Handtekening komt niet overeen
De volgende fouten en waarschuwingen geven een ongelijkheid aan tussen de interceptormethode en de intercepteerbare methode.
-
CS9144: Kan de methode
Mniet onderscheppen met interceptorVomdat de signaturen niet overeenkomen. -
CS9148: Interceptor moet een parameter hebben die overeenkomt met parameters
this. -
CS9149: Interceptor mag geen parameter hebben
thisomdat de methode geen parameter heeftthis. -
CS9155: Kan de oproep niet onderscheppen met
Momdat deze niet toegankelijk is binnenV. -
CS9156: Kan aanroep naar
Mniet onderscheppen metVvanwege een verschil in 'scoped' modifiers of[UnscopedRef]attributen. - CS9177: Methode 'method' moet niet-generiek zijn of ariteit 'arity' hebben om overeen te komen met 'target'.
- CS9178: methode 'methode' moet niet-algemeen zijn om overeen te komen met 'doel'.
Bovendien geven de volgende waarschuwingen een verschil aan in de handtekeningen van de interceptor en de intercepteerbare methode.
-
CS9154: Een aanroep naar
Monderscheppen met interceptorV, maar de signaturen komen niet overeen. - CS9158: Nullability van referentietypen in het retourtype komt niet overeen met de intercepteerbare methode.
- CS9159: Nullability van referentietypen in type van parameter komt niet overeen met de methode die onderschept kan worden.
-
CS9270: '
InterceptsLocationAttribute(string, int, int)' wordt niet ondersteund. Ga in plaats daarvan naar 'InterceptableLocation'-gebaseerde generatie van deze kenmerken. (https://github.com/dotnet/roslyn/issues/72133)
Om deze problemen op te lossen, moet u ervoor zorgen dat uw interceptormethode overeenkomt met de signature en toegangseisen van de te onderscheppen methode.
- Zorg ervoor dat de handtekening van de interceptormethode exact overeenkomt met de onderscheppingsmethode (CS9144, CS9154). De parametertypen, modifiers, volgorde en retourtype moeten identiek zijn. Controleer beide methodedeclaraties en lijn hun handtekeningen uit.
- Voeg een
thisparameter toe aan uw interceptor wanneer de onderscheppingsmethode een instantiemethode is (CS9148) of verwijder dethisparameter wanneer de onderscheppingsmethode statisch is (CS9149). Voor instantie-interceptors is eenthisparameter van het declaratietype vereist, terwijl statische interceptors er geen mogen hebben. - Declareer uw interceptor op een locatie waar de te onderscheppen methode toegankelijk is (CS9155). Als de intercepteerbare methode
internalis, moet de interceptor zich in dezelfde assembly bevinden. Als hetprivateis, moet de interceptor zich in hetzelfde type of een genest type bevinden. - Komen overeen met de
scopedmodifiers en[UnscopedRef]kenmerken van de bijbehorenderefparameters (CS9156). Elkerefparameter in de interceptor moet dezelfde levensduuraantekeningen hebben als de bijbehorende parameter in de onderschepte methode om geheugenveiligheid te garanderen. - Zorg ervoor dat beide methoden overeenkomen met algemene arity (CS9177, CS9178). Als de onderscheppingsmethode niet-generiek is, moet de interceptor ook niet-generiek zijn. Als de snijpuntmethode typeparameters heeft, moet de interceptor hetzelfde aantal typeparameters met compatibele beperkingen hebben.
- Zorg ervoor dat de null-waardenannotaties in het retourtype (CS9158) en de parametertypen (CS9159) overeenkomen. Schakel nullbare referentietypen in uw project in en zorg ervoor dat de annotaties voor de nullbaarheid van de interceptor exact overeenkomen met de onderschepte methode om de typestrictheid te waarborgen.
- Gebruik de op
InterceptableLocationgebaseerde bijgewerkte generatie voorInterceptsLocationAttributein plaats van de afgeschafte(string, int, int)-constructor (CS9270). De nieuwere indeling biedt betere ondersteuning voor hulpprogramma's en compileertijdvalidatie. Zie het GitHub-probleem voor migratierichtlijnen.
Onjuiste toewijzing
Interceptors vereisen een bronmapping die de onderbreekbare methode en de interceptormethode verbindt. De volgende fouten duiden op een probleem met de mapping.
- CS9139: Kan niet onderscheppen: compilatie bevat geen bestand met een pad.
- CS9140: Kan niet onderscheppen: compilatie bevat geen bestand met pad 'pad'. Wilde u het pad 'candidatePath' gebruiken?
- CS9141: Het opgegeven regel- en tekennummer verwijst niet naar een onderscheppingsbare methodenaam, maar naar token 'token'.
-
CS9142: Het opgegeven bestand bevat
nregels, die kleiner zijn dan het opgegeven regelnummerm. -
CS9143: De opgegeven regel is
ctekens lang, die kleiner zijn dan het opgegeven tekennummern. - CS9145: Kan niet onderscheppen: Pad is niet in kaart gebracht. Verwacht in kaart gebracht pad.
- CS9147: Het opgegeven regel- en tekennummer verwijst niet naar het begin van het token 'token'. Wilde u regel 'n' en 'c' gebruiken?
-
CS9150: Interceptor kan geen bestandspad hebben
null. -
CS9157: De opgegeven
InterceptsLocationAttributeregel- en tekennummers moeten positief zijn.
Als u toewijzingsfouten wilt corrigeren, moet u ervoor zorgen dat uw InterceptsLocationAttribute geldige bestandspaden en nauwkeurige positiegegevens bevat:
- Controleer of het bestandspad overeenkomt met een bestand in uw compilatie (CS9139, CS9140). Gebruik het exacte pad zoals het in uw project wordt weergegeven, inclusief de juiste behuizing en adreslijstscheidingstekens. Als de compiler een alternatief pad voorstelt, werkt u uw kenmerk bij om dat pad te gebruiken.
- Gebruik toegewezen bestandspaden bij het werken met brongeneratoren die bestandspaden transformeren (CS9145). Brongeneratoren wijzen vaak paden opnieuw toe voor gegenereerde bestanden en u moet het toegewezen pad gebruiken dat de compiler herkent, niet het oorspronkelijke bronpad.
- Zorg ervoor dat het bestandspad zich niet
nullin uwInterceptsLocationAttribute(CS9150) bevindt. Elke interceptie moet een geldig, niet-null-bestandspad opgeven waarmee het bronbestand wordt geïdentificeerd dat de aanroep bevat die moet worden onderschept. - Geef positieve, op 1 gebaseerde regel- en tekennummers (CS9157) op. Regelnummers en tekenposities moeten beginnen bij 1, niet bij 0. Controleer of uw brongenerator gebruikmaakt van indexering op basis van 1 bij het berekenen van posities.
- Wijs het exacte begin aan van het methodenaamtoken (CS9141, CS9147). De regel- en tekennummers moeten het eerste teken van de methodenaam in de aanroep identificeren, niet witruimte, operators of andere tokens. Als de compiler alternatieve coördinaten voorstelt, gebruikt u deze om het juiste token te starten.
- Blijf binnen de grenzen van het bestand (CS9142, CS9143). Controleer of het regelnummer niet groter is dan het totale aantal regels en of het tekennummer de regellengte niet overschrijdt. Bereken posities opnieuw als het bronbestand is gewijzigd sinds het kenmerk is gegenereerd.
Onjuiste interceptordeclaratie
De volgende fouten duiden op problemen met declaraties van interceptors, waaronder problemen met de InterceptsLocationAttribute-opmaak of overtredingen van de interceptorregels:
- CS9138: Methode 'method' kan niet worden gebruikt als interceptor omdat het omvattende type typeparameters heeft.
- CS9146: Een interceptormethode moet een gewone lidmethode zijn.
-
CS9151: Mogelijke methodenaam
Mkan niet worden onderschept omdat deze niet wordt aangeroepen. - CS9152: Kan een aanroep in bestand niet onderscheppen met pad 'pad' omdat meerdere bestanden in de compilatie dit pad hebben.
- CS9153: De aangegeven oproep wordt meerdere keren onderschept.
- CS9160: Een operatornaam kan niet worden onderschept.
-
CS9161: Een interceptor kan niet worden gemarkeerd met
UnmanagedCallersOnlyAttribute. - CS9206: Een interceptor kan niet worden gedeclareerd in de globale naamruimte.
- CS9207: Kan 'method' niet onderscheppen omdat het geen aanroep van een reguliere lidmethode is.
- CS9231: Het gegevensargument voor InterceptsLocationAttribute heeft niet de juiste indeling.
- CS9232: Versie 'versie' van het interceptorsformat wordt niet ondersteund. De meest recente ondersteunde versie is '1'.
- CS9233: Kan een aanroep in bestand 'bestand' niet onderscheppen omdat deze elders in de compilatie wordt gedupliceerd.
- CS9234: Kan een aanroep in bestand 'bestand' niet onderscheppen omdat er geen overeenkomend bestand is gevonden in de compilatie.
- CS9235: Het gegevensargument voor InterceptsLocationAttribute verwijst naar een ongeldige positie in bestand 'bestand'.
Als u interceptordeclaratiefouten wilt corrigeren, volgt u deze regels voor geldige interceptordeclaraties en het gebruik van InterceptsLocationAttribute.
- Maak het
InterceptsLocationAttributegegevensargument correct op (CS9231). Voor het kenmerk zijn specifiek gestructureerde gegevens vereist waarmee bestandspad- en positiegegevens worden gecodeerd. Zorg ervoor dat uw brongenerator gegevens produceert in de verwachte indeling die overeenkomt met de huidige interceptorsspecificatie. - Gebruik versie 1 in uw
InterceptsLocationAttribute(CS9232), omdat dit de meest recente ondersteunde versie is. Werk de brongenerator bij om attribuutformaten van versie 1 uit te geven in plaats van onondersteunde versienummers. - Zorg voor unieke bestandspaden in uw compilatie (CS9233, CS9234). Wanneer de compilatie dubbele bestandspaden bevat, wijzigt u de naam of rangschikt u bestanden om elk pad uniek te maken. Controleer of het bestandspad in het kenmerk overeenkomt met een bestand dat daadwerkelijk is opgenomen in de compilatie.
- Positiegegevenspunten valideren naar geldige codelocaties (CS9235). De regel- en tekennummers moeten verwijzen naar een geldig snijpunt binnen het opgegeven bestand. Genereer het kenmerk opnieuw als het bronbestand is gewijzigd of als de positie buiten de grenzen van het bestand valt.
- Declareer niet-generieke interceptormethoden in niet-algemene typen (CS9138). Interceptors kunnen niet worden gedeclareerd in typen met typeparameters. Als u een generieke methode wilt onderscheppen, maak dan een niet-generieke interceptor in een niet-generiek omvattend type dat werkt met het specifieke geconstrueerde type.
- Interceptor-methoden als gewone lidmethoden maken (CS9146). Interceptors kunnen geen operators, constructors, finalizers, eigenschappen of indexers zijn. Declareer uw interceptor als een gewone statische of instantiemethode.
- Onderschep werkelijke methode-aanroepen, geen expressies (CS9151, CS9207). U kunt alleen oproepen naar reguliere lidmethoden onderscheppen die worden aangeroepen. U kunt geen methodegroepen, delegaten of methoden onderscheppen waarnaar wordt verwezen zonder aangeroepen te worden. Zorg ervoor dat de te onderscheppen locatie een daadwerkelijke methodeaanroep identificeert.
- Dubbele interceptiepogingen verwijderen (CS9153). Elke methode-aanroep kan slechts eenmaal worden onderschept. Als meerdere
InterceptsLocationAttributeexemplaren op dezelfde aanroep zijn gericht, verwijdert u alles behalve één om de dubbelzinnigheid op te lossen. - Intercepteer
nameofoperators (CS9160) niet. Denameofoperator roept tijdens runtime geen methoden aan, zodat deze niet kan worden onderschept. Onderschep alleen werkelijke methode-aanroepen die tijdens runtime worden uitgevoerd. - Verwijder
UnmanagedCallersOnlyAttributevan de interceptors (CS9161). Interceptors moeten kunnen worden aangeroepen vanuit beheerde code en kunnen niet worden gemarkeerd metUnmanagedCallersOnlyAttribute. Verwijder het kenmerk uit de declaratie van de interceptormethode. - Declareer interceptors binnen een naamruimte (CS9206). Interceptors kunnen niet worden gedeclareerd in de globale naamruimte en moeten zich in ten minste één naamruimtedeclaratie bevinden. Verpakt uw interceptorklasse in een naamruimte.
- Dubbele bestandspaden oplossen op compilatieniveau (CS9152). Wanneer meerdere bestanden hetzelfde pad in de compilatie delen, kan de compiler niet bepalen welk bestand moet worden onderschept. Zorg ervoor dat de buildconfiguratie unieke bestandspaden produceert of gebruik een andere organisatiestrategie voor uw bronbestanden.