Freigeben über


Workspace Klasse

Definition

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

public ref class Workspace abstract : IDisposable
public abstract class Workspace : IDisposable
type Workspace = class
    interface IDisposable
Public MustInherit Class Workspace
Implements IDisposable
Vererbung
Workspace
Abgeleitet
Implementiert

Konstruktoren

Name Beschreibung
Workspace(HostServices, String)

Erstellt eine neue Arbeitsbereichsinstanz.

Eigenschaften

Name Beschreibung
CanOpenDocuments

True, wenn dieser Arbeitsbereich das manuelle Öffnen und Schließen von Dokumenten unterstützt.

CurrentSolution

Die aktuelle Lösung.

Die Lösung ist ein unveränderliches Modell der aktuellen Gruppe von Projekten und Quelldokumenten. Sie bietet Zugriff auf Quelltext, Syntaxstrukturen und Semantik.

Diese Eigenschaft kann sich ändern, wenn der Arbeitsbereich auf Änderungen in der Umgebung oder nach TryApplyChanges(Solution) dem Aufruf reagiert.

Kind

Die Art des Arbeitsbereichs. Dies ist in der Regel Host der Fall, wenn sie aus der Hostumgebung stammen, aber möglicherweise ein anderer Name, der für eine bestimmte Art von Arbeitsbereich verwendet wird.

Options
Veraltet.

Dient zum Abrufen oder Festlegen des Satzes aller globalen Optionen und Options. Setter erzwingt außerdem updates, um die CurrentSolution Aktualisierung Optionszu erhalten.

PartialSemanticsEnabled

Überschreiben Sie diese Eigenschaft, wenn der Arbeitsbereich partielle Semantik für Dokumente unterstützt.

Services

Dienstanbieter vom Host für die Implementierung von Arbeitsbereichsfeatures.

Methoden

Name Beschreibung
AdjustReloadedProject(Project, Project)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

AdjustReloadedSolution(Solution, Solution)

Diese Methode wird während von OnSolutionReload aufgerufen. Überschreiben Sie diese Methode, wenn Sie die neu geladene Lösung bearbeiten möchten.

ApplyAdditionalDocumentAdded(DocumentInfo, SourceText)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um einem Projekt ein neues zusätzliches Dokument hinzuzufügen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Hinzufügen zusätzlicher Dokumente zu implementieren.

ApplyAdditionalDocumentRemoved(DocumentId)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um ein zusätzliches Dokument aus einem Projekt zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen zusätzlicher Dokumente zu implementieren.

ApplyAdditionalDocumentTextChanged(DocumentId, SourceText)

Diese Methode wird aufgerufen, um den Text eines zusätzlichen Dokuments zu ändern.

Überschreiben Sie diese Methode, um die Möglichkeit zu implementieren, zusätzlichen Dokumenttext zu ändern.

ApplyAnalyzerConfigDocumentAdded(DocumentInfo, SourceText)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um einem Projekt ein neues Analysekonfigurationsdokument hinzuzufügen.

Überschreiben Sie diese Methode, um die Funktion zum Hinzufügen von Analysekonfigurationsdokumenten zu implementieren.

ApplyAnalyzerConfigDocumentRemoved(DocumentId)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um ein Analysekonfigurationsdokument aus einem Projekt zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen von Analysekonfigurationsdokumenten zu implementieren.

ApplyAnalyzerConfigDocumentTextChanged(DocumentId, SourceText)

Diese Methode wird aufgerufen, um den Text eines Analysekonfigurationsdokuments zu ändern.

Überschreiben Sie diese Methode, um den Dokumenttext der Analysekonfiguration zu ändern.

ApplyAnalyzerReferenceAdded(ProjectId, AnalyzerReference)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um einem Projekt einen Analyseverweis hinzuzufügen.

Überschreiben Sie diese Methode, um die Funktion zum Hinzufügen von Analyseverweise zu implementieren.

ApplyAnalyzerReferenceRemoved(ProjectId, AnalyzerReference)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um einen Analyseverweis aus einem Projekt zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen von Analyseverweise zu implementieren.

ApplyCompilationOptionsChanged(ProjectId, CompilationOptions)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um die Kompilierungsoptionen zu ändern.

Überschreiben Sie diese Methode, um die Funktion zum Ändern von Kompilierungsoptionen zu implementieren.

ApplyDocumentAdded(DocumentInfo, SourceText)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um einem Projekt ein neues Dokument hinzuzufügen.

Überschreiben Sie diese Methode, um die Funktion zum Hinzufügen von Dokumenten zu implementieren.

ApplyDocumentInfoChanged(DocumentId, DocumentInfo)

Diese Methode wird aufgerufen, um die Informationen eines Dokuments zu ändern.

Überschreiben Sie diese Methode, um die Funktion zum Ändern der Informationen eines Dokuments zu implementieren.

ApplyDocumentRemoved(DocumentId)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um ein Dokument aus einem Projekt zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen von Dokumenten zu implementieren.

ApplyDocumentTextChanged(DocumentId, SourceText)

Diese Methode wird aufgerufen, um den Text eines Dokuments zu ändern.

Überschreiben Sie diese Methode, um die Funktion zum Ändern von Dokumenttext zu implementieren.

ApplyMetadataReferenceAdded(ProjectId, MetadataReference)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um einem Projekt einen Metadatenverweis hinzuzufügen.

Überschreiben Sie diese Methode, um die Funktion zum Hinzufügen von Metadatenverweisen zu implementieren.

ApplyMetadataReferenceRemoved(ProjectId, MetadataReference)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um einen Metadatenverweis aus einem Projekt zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen von Metadatenverweisen zu implementieren.

ApplyParseOptionsChanged(ProjectId, ParseOptions)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um die Analyseoptionen zu ändern.

Überschreiben Sie diese Methode, um die Funktion zum Ändern von Analyseoptionen zu implementieren.

ApplyProjectAdded(ProjectInfo)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um der aktuellen Lösung ein Projekt hinzuzufügen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Hinzufügen von Projekten zu implementieren.

ApplyProjectChanges(ProjectChanges)

Diese Methode wird für TryApplyChanges(Solution) jedes Projekt aufgerufen, das hinzugefügt, entfernt oder geändert wurde.

Überschreiben Sie diese Methode, wenn Sie ändern möchten, wie Projektänderungen angewendet werden.

ApplyProjectReferenceAdded(ProjectId, ProjectReference)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um einem Projekt einen Projektverweis hinzuzufügen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Hinzufügen von Projektverweisen zu implementieren.

ApplyProjectReferenceRemoved(ProjectId, ProjectReference)

Diese Methode wird aufgerufen TryApplyChanges(Solution) , um einen Projektverweis aus einem Projekt zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen von Projektverweisen zu implementieren.

ApplyProjectRemoved(ProjectId)

Diese Methode wird aufgerufen, TryApplyChanges(Solution) um ein Projekt aus der aktuellen Projektmappe zu entfernen.

Überschreiben Sie diese Methode, um die Möglichkeit zum Entfernen von Projekten zu implementieren.

CanApplyChange(ApplyChangesKind)

Bestimmt, ob die bestimmte Art von Änderung von der TryApplyChanges(Solution) Methode unterstützt wird.

CanApplyCompilationOptionChange(CompilationOptions, CompilationOptions, Project)

Wird während eines Anrufs aufgerufen, um zu TryApplyChanges(Solution) ermitteln, ob eine bestimmte Änderung CompilationOptions zulässig ist.

CanApplyParseOptionChange(ParseOptions, ParseOptions, Project)

Wird während eines Anrufs aufgerufen, um zu TryApplyChanges(Solution) ermitteln, ob eine bestimmte Änderung ParseOptions zulässig ist.

CheckAdditionalDocumentIsInCurrentSolution(DocumentId)

Löst eine Ausnahme aus, wenn ein zusätzliches Dokument nicht Teil der aktuellen Lösung ist.

CheckAdditionalDocumentIsNotInCurrentSolution(DocumentId)

Löst eine Ausnahme aus, wenn ein zusätzliches Dokument bereits Teil der aktuellen Lösung ist.

CheckAnalyzerConfigDocumentIsInCurrentSolution(DocumentId)

Löst eine Ausnahme aus, wenn eine Analysekonfiguration nicht Teil der aktuellen Lösung ist.

CheckAnalyzerConfigDocumentIsNotInCurrentSolution(DocumentId)

Löst eine Ausnahme aus, wenn das Analysekonfigurationsdokument bereits Teil der aktuellen Lösung ist.

CheckCanOpenDocuments()

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

CheckDocumentCanBeRemoved(DocumentId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

CheckDocumentIsClosed(DocumentId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

CheckDocumentIsInCurrentSolution(DocumentId)

Löst eine Ausnahme aus, wenn ein Dokument nicht Teil der aktuellen Lösung ist.

CheckDocumentIsNotInCurrentSolution(DocumentId)

Löst eine Ausnahme aus, wenn ein Dokument bereits Teil der aktuellen Lösung ist.

CheckDocumentIsOpen(DocumentId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

CheckProjectCanBeRemoved(ProjectId)

Derzeit können Projekte immer entfernt werden, aber diese Methode ist immer noch vorhanden, da sie geschützt ist und wir nicht möchten, dass Personen, die sie möglicherweise abgeleitet Workspace und entweder aufgerufen haben, oder sie außer Kraft setzen.

CheckProjectDoesNotContainOpenDocuments(ProjectId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

CheckProjectDoesNotHaveAnalyzerReference(ProjectId, AnalyzerReference)

Löst eine Ausnahme aus, wenn ein Projekt bereits über einen bestimmten Analyseverweis verfügt.

CheckProjectDoesNotHaveMetadataReference(ProjectId, MetadataReference)

Löst eine Ausnahme aus, wenn ein Projekt bereits über einen bestimmten Metadatenverweis verfügt.

CheckProjectDoesNotHaveProjectReference(ProjectId, ProjectReference)

Löst eine Ausnahme aus, wenn ein Projekt bereits über einen bestimmten Projektverweis verfügt.

CheckProjectDoesNotHaveTransitiveProjectReference(ProjectId, ProjectId)

Löst eine Ausnahme aus, wenn das Projekt einen transitiven Verweis auf ein anderes Projekt hat.

CheckProjectHasAnalyzerReference(ProjectId, AnalyzerReference)

Löst eine Ausnahme aus, wenn ein Projekt keinen bestimmten Analyseverweis hat.

CheckProjectHasMetadataReference(ProjectId, MetadataReference)

Löst eine Ausnahme aus, wenn ein Projekt keinen bestimmten Metadatenverweis hat.

CheckProjectHasProjectReference(ProjectId, ProjectReference)

Löst eine Ausnahme aus, wenn ein Projekt keinen bestimmten Projektverweis hat.

CheckProjectIsInCurrentSolution(ProjectId)

Löst eine Ausnahme aus, wenn das Projekt nicht Teil der aktuellen Projektmappe ist.

CheckProjectIsNotInCurrentSolution(ProjectId)

Löst eine Ausnahme aus, wenn das Projekt Teil der aktuellen Lösung ist.

CheckSolutionIsEmpty()

Löst eine Ausnahme aus, wenn die Lösung nicht leer ist.

ClearDocumentData(DocumentId)

Diese Methode wird aufgerufen, um ein einzelnes Dokument zu löschen.

Überschreiben Sie diese Methode, wenn Sie zusätzliche Aufgaben ausführen möchten, wenn ein Dokument entfernt wird. Rufen Sie die Basismethode am Ende der Methode auf.

ClearOpenDocument(DocumentId, Boolean)
Veraltet.

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

ClearOpenDocument(DocumentId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

ClearProjectData(ProjectId)

Diese Methode wird aufgerufen, wenn ein einzelnes Projekt entfernt wird.

Überschreiben Sie diese Methode, wenn Sie zusätzliche Arbeit ausführen möchten, wenn ein Projekt entfernt wird. Rufen Sie die Basismethode am Ende der Methode auf.

ClearSolution()

Löscht alle Lösungsdaten und leert die aktuelle Lösung.

ClearSolutionData()

Diese Methode wird aufgerufen, wenn eine Lösung gelöscht wird.

Überschreiben Sie diese Methode, wenn Sie zusätzliche Aufgaben ausführen möchten, wenn eine Lösung gelöscht wird. Rufen Sie die Basismethode am Ende der Methode auf.

Diese Methode wird aufgerufen, während eine Sperre gehalten wird. Seien Sie sehr vorsichtig, wenn Sie die Außerkraftsetzung als innapropriate-Arbeit zu Deadlocks führen können.

CloseAdditionalDocument(DocumentId)

Schließen Sie das angegebene zusätzliche Dokument in der Hostumgebung.

CloseAnalyzerConfigDocument(DocumentId)

Schließen Sie das angegebene Analysekonfigurationsdokument in der Hostumgebung.

CloseDocument(DocumentId)

Schließen Sie das angegebene Dokument in der Hostumgebung.

CreateSolution(SolutionId)

Erstellen Sie eine neue leere Lösungsinstanz, die diesem Arbeitsbereich zugeordnet ist.

CreateSolution(SolutionInfo)

Erstellen Sie eine neue leere Lösungsinstanz, die diesem Arbeitsbereich zugeordnet ist.

Dispose()

Entfernt diesen Arbeitsbereich. Der Arbeitsbereich kann länger verwendet werden, nachdem er verworfen wurde.

Dispose(Boolean)

Rufen Sie diese Methode auf, wenn der Arbeitsbereich verworfen wird.

Überschreiben Sie diese Methode, um zusätzliche Arbeit zu erledigen, wenn der Arbeitsbereich verworfen wird. Rufen Sie diese Methode am Ende der Methode auf.

GetAdditionalDocumentName(DocumentId)

Ruft den Namen ab, der für ein zusätzliches Dokument in einer Fehlermeldung verwendet werden soll.

GetAnalyzerConfigDocumentName(DocumentId)

Ruft den Namen ab, der für ein Analysedokument in einer Fehlermeldung verwendet werden soll.

GetDocumentIdInCurrentContext(SourceTextContainer)

Ruft die ID für das Dokument ab, das dem angegebenen Textcontainer im aktuellen Kontext zugeordnet ist. Dokumente werden normalerweise einem Textcontainer zugeordnet, wenn die Dokumente geöffnet werden.

GetDocumentName(DocumentId)

Ruft den Namen ab, der für ein Dokument in einer Fehlermeldung verwendet werden soll.

GetOpenDocumentIds(ProjectId)

Ruft eine Liste der aktuell geöffneten Dokumente ab.

GetProjectName(ProjectId)

Ruft den Namen ab, der für ein Projekt in einer Fehlermeldung verwendet werden soll.

GetRelatedDocumentIds(SourceTextContainer)

Ruft die IDs für Dokumente in der Momentaufnahme ab, die CurrentSolution dem angegebenen zugeordnet containerist. Dokumente werden normalerweise einem Textcontainer zugeordnet, wenn die Dokumente geöffnet werden.

GetWorkspaceRegistration(SourceTextContainer)

Gibt einen WorkspaceRegistration Für einen bestimmten Textcontainer zurück.

IsDocumentOpen(DocumentId)

Bestimmt, ob das Dokument derzeit in der Hostumgebung geöffnet ist.

OnAdditionalDocumentAdded(DocumentInfo)

Rufen Sie diese Methode auf, wenn einem Projekt in der Hostumgebung ein zusätzliches Dokument hinzugefügt wird.

OnAdditionalDocumentClosed(DocumentId, TextLoader)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OnAdditionalDocumentOpened(DocumentId, SourceTextContainer, Boolean)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OnAdditionalDocumentRemoved(DocumentId)

Rufen Sie diese Methode auf, wenn ein zusätzliches Dokument aus einem Projekt in der Hostumgebung entfernt wird.

OnAdditionalDocumentTextChanged(DocumentId, SourceText, PreservationMode)

Rufen Sie diese Methode auf, wenn der Text eines zusätzlichen Dokuments in der Hostumgebung aktualisiert wird.

OnAdditionalDocumentTextLoaderChanged(DocumentId, TextLoader)

Rufen Sie diese Methode auf, wenn der Text eines zusätzlichen Dokuments auf dem Datenträger geändert wird.

OnAnalyzerConfigDocumentAdded(DocumentInfo)

Rufen Sie diese Methode auf, wenn ein Analysekonfigurationsdokument einem Projekt in der Hostumgebung hinzugefügt wird.

OnAnalyzerConfigDocumentClosed(DocumentId, TextLoader)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OnAnalyzerConfigDocumentOpened(DocumentId, SourceTextContainer, Boolean)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OnAnalyzerConfigDocumentRemoved(DocumentId)

Rufen Sie diese Methode auf, wenn ein Analysekonfigurationsdokument aus einem Projekt in der Hostumgebung entfernt wird.

OnAnalyzerConfigDocumentTextChanged(DocumentId, SourceText, PreservationMode)

Rufen Sie diese Methode auf, wenn der Text eines Analysekonfigurationsdokuments in der Hostumgebung aktualisiert wird.

OnAnalyzerConfigDocumentTextLoaderChanged(DocumentId, TextLoader)

Rufen Sie diese Methode auf, wenn der Text eines Analysekonfigurationsdokuments auf dem Datenträger geändert wird.

OnAnalyzerReferenceAdded(ProjectId, AnalyzerReference)

Rufen Sie diese Methode auf, wenn einem Projekt in der Hostumgebung ein Analyseverweis hinzugefügt wird.

OnAnalyzerReferenceRemoved(ProjectId, AnalyzerReference)

Rufen Sie diese Methode auf, wenn ein Analyseverweis aus einem Projekt in der Hostumgebung entfernt wird.

OnAssemblyNameChanged(ProjectId, String)

Rufen Sie diese Methode auf, wenn der Assemblyname eines Projekts in der Hostumgebung geändert wird.

OnCompilationOptionsChanged(ProjectId, CompilationOptions)

Rufen Sie diese Methode auf, wenn die Kompilierungsoptionen eines Projekts in der Hostumgebung geändert werden.

OnDocumentAdded(DocumentInfo)

Rufen Sie diese Methode auf, wenn einem Projekt in der Hostumgebung ein Dokument hinzugefügt wird.

OnDocumentClosed(DocumentId, TextLoader, Boolean)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OnDocumentClosing(DocumentId)

Überschreiben Sie diese Methode, um sofort zu reagieren, wenn ein Dokument geschlossen wird, anstatt darauf zu warten, dass das entsprechende Arbeitsbereichsänderungsereignis asynchron ausgelöst wird.

OnDocumentContextUpdated(DocumentId)

Rufen Sie diese Methode auf, wenn ein Dokument in der Hostumgebung zum aktiven Kontext gemacht wurde.

OnDocumentInfoChanged(DocumentId, DocumentInfo)

Rufen Sie diese Methode auf, wenn sich die Dokumentinformationen ändern, z. B. name, Ordner oder Dateipfad.

OnDocumentOpened(DocumentId, SourceTextContainer, Boolean)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OnDocumentReloaded(DocumentInfo)

Rufen Sie diese Methode auf, wenn ein Dokument in der Hostumgebung neu geladen wird.

OnDocumentRemoved(DocumentId)

Rufen Sie diese Methode auf, wenn ein Dokument aus einem Projekt in der Hostumgebung entfernt wird.

OnDocumentsAdded(ImmutableArray<DocumentInfo>)

Rufen Sie diese Methode auf, wenn einem oder mehreren Projekten in der Hostumgebung mehrere Dokumente hinzugefügt werden.

OnDocumentSourceCodeKindChanged(DocumentId, SourceCodeKind)

Rufen Sie diese Methode auf, wenn sich das SourceCodeKind-Objekt eines Dokuments in der Hostumgebung ändert.

OnDocumentTextChanged(Document)

Überschreiben Sie diese Methode, um sofort zu handeln, wenn sich der Text eines Dokuments geändert hat, anstatt darauf zu warten, dass das entsprechende Arbeitsbereichsänderungsereignis asynchron ausgelöst wird.

OnDocumentTextChanged(DocumentId, SourceText, PreservationMode)

Rufen Sie diese Methode auf, wenn der Text eines Dokuments in der Hostumgebung aktualisiert wird.

OnDocumentTextLoaderChanged(DocumentId, TextLoader)

Rufen Sie diese Methode auf, wenn der Text eines Dokuments auf dem Datenträger geändert wird.

OnMetadataReferenceAdded(ProjectId, MetadataReference)

Rufen Sie diese Methode auf, wenn einem Projekt in der Hostumgebung ein Metadatenverweis hinzugefügt wird.

OnMetadataReferenceRemoved(ProjectId, MetadataReference)

Rufen Sie diese Methode auf, wenn ein Metadatenverweis aus einem Projekt in der Hostumgebung entfernt wird.

OnOutputFilePathChanged(ProjectId, String)

Rufen Sie diese Methode auf, wenn der Ausgabedateipfad eines Projekts in der Hostumgebung geändert wird.

OnOutputRefFilePathChanged(ProjectId, String)

Rufen Sie diese Methode auf, wenn der Ausgabedateipfad eines Projekts in der Hostumgebung geändert wird.

OnParseOptionsChanged(ProjectId, ParseOptions)

Rufen Sie diese Methode auf, wenn die Analyseoptionen eines Projekts in der Hostumgebung geändert werden.

OnProjectAdded(ProjectInfo)

Rufen Sie diese Methode auf, um auf ein Projekt zu reagieren, das in der Hostumgebung hinzugefügt/geöffnet wird.

OnProjectNameChanged(ProjectId, String, String)

Rufen Sie diese Methode auf, wenn der Name eines Projekts in der Hostumgebung geändert wird.

OnProjectReferenceAdded(ProjectId, ProjectReference)

Rufen Sie diese Methode auf, wenn einem Projekt in der Hostumgebung ein Projektverweis hinzugefügt wird.

OnProjectReferenceRemoved(ProjectId, ProjectReference)

Rufen Sie diese Methode auf, wenn ein Projektverweis aus einem Projekt in der Hostumgebung entfernt wird.

OnProjectReloaded(ProjectInfo)

Rufen Sie diese Methode auf, um auf ein Projekt zu reagieren, das in der Hostumgebung neu geladen wird.

OnProjectRemoved(ProjectId)

Rufen Sie diese Methode auf, um auf ein Projekt zu reagieren, das aus der Hostumgebung entfernt wird.

OnSolutionAdded(SolutionInfo)

Rufen Sie diese Methode auf, um auf eine Lösung zu reagieren, die in der Hostumgebung geöffnet wird.

OnSolutionReloaded(SolutionInfo)

Rufen Sie diese Methode auf, um auf eine Lösung zu reagieren, die in der Hostumgebung neu geladen wird.

OnSolutionRemoved()

Diese Methode wird aufgerufen, wenn die Lösung aus dem Arbeitsbereich entfernt wird.

Überschreiben Sie diese Methode, wenn Sie zusätzliche Aufgaben ausführen möchten, wenn die Lösung entfernt wird. Rufen Sie die Basismethode am Ende der Methode auf. Rufen Sie diese Methode auf, um auf eine Lösung zu reagieren, die in der Hostumgebung entfernt/gelöscht/geschlossen wird.

OnWorkspaceFailed(WorkspaceDiagnostic)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

OpenAdditionalDocument(DocumentId, Boolean)

Öffnen Sie das angegebene zusätzliche Dokument in der Hostumgebung.

OpenAnalyzerConfigDocument(DocumentId, Boolean)

Öffnen Sie das angegebene Analysekonfigurationsdokument in der Hostumgebung.

OpenDocument(DocumentId, Boolean)

Öffnen Sie das angegebene Dokument in der Hostumgebung.

RaiseDocumentActiveContextChangedEventAsync(Document)
Veraltet.

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RaiseDocumentActiveContextChangedEventAsync(SourceTextContainer, DocumentId, DocumentId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RaiseDocumentClosedEventAsync(Document)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RaiseDocumentOpenedEventAsync(Document)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RaiseTextDocumentClosedEventAsync(TextDocument)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RaiseTextDocumentOpenedEventAsync(TextDocument)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RaiseWorkspaceChangedEventAsync(WorkspaceChangeKind, Solution, Solution, ProjectId, DocumentId)

Ein Arbeitsbereich bietet Zugriff auf eine aktive Gruppe von Quellcodeprojekten und -dokumenten sowie deren zugeordneten Syntaxstrukturen, Kompilierungen und semantischen Modellen. Ein Arbeitsbereich verfügt über eine aktuelle Lösung, die eine unveränderliche Momentaufnahme der Projekte und Dokumente darstellt. Diese Eigenschaft kann sich im Laufe der Zeit ändern, da der Arbeitsbereich entweder über Liveinteraktionen in der Umgebung oder über den Aufruf der Methode des Arbeitsbereichs TryApplyChanges(Solution) aktualisiert wird.

RegisterDocumentActiveContextChangedHandler(Action<DocumentActiveContextChangedEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der ausgelöst wird, wenn sich das aktive Kontextdokument ändert, das einem Puffer zugeordnet ist.

RegisterDocumentClosedHandler(Action<DocumentEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der ausgelöst wird, wenn ein Document Handler im Editor geschlossen wird.

RegisterDocumentOpenedHandler(Action<DocumentEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der ausgelöst wird, wenn ein Document Handler im Editor geöffnet wird.

RegisterText(SourceTextContainer)

Registrieren Sie eine Korrespondenz zwischen einem Textcontainer und einem Arbeitsbereich.

RegisterTextDocumentClosedHandler(Action<TextDocumentEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der beim Schließen im Editor ausgelöst TextDocument wird.

RegisterTextDocumentOpenedHandler(Action<TextDocumentEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der ausgelöst wird, wenn ein TextDocument Handler im Editor geöffnet wird.

RegisterWorkspaceChangedHandler(Action<WorkspaceChangeEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der ausgelöst wird, wenn die aktuelle Lösung geändert wird.

RegisterWorkspaceChangedImmediateHandler(Action<WorkspaceChangeEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der sofort ausgelöst wird, wenn die aktuelle Lösung geändert wird. Handler sollten sehr schnell geschrieben werden. Wird immer vom Thread aufgerufen, der den Arbeitsbereich ändert, unabhängig von den von den übergebenen Optionen angegebenen Einstellungen. Dieser Thread variiert je nach Arbeitsbereich.

RegisterWorkspaceFailedHandler(Action<WorkspaceDiagnosticEventArgs>, Nullable<WorkspaceEventOptions>)

Registriert einen Handler, der ausgelöst wird, wenn der Arbeitsbereich oder ein Teil des Lösungsmodells nicht auf eine Datei oder andere externe Ressource zugreifen kann.

ScheduleTask(Action, String)

Führt eine Aktion als Hintergrundaufgabe als Teil einer sequenziellen Warteschlange von Aufgaben aus.

ScheduleTask<T>(Func<T>, String)

Führen Sie eine Funktion als Hintergrundaufgabe als Teil einer sequenziellen Warteschlange von Aufgaben aus.

SetCurrentSolution(Solution)

Legt den CurrentSolution Arbeitsbereich fest. Diese Methode löst kein WorkspaceChange-Ereignis aus.

TryApplyChanges(Solution)

Anwenden von Änderungen, die an einer Lösung vorgenommen wurden, wieder auf den Arbeitsbereich zurück.

Die angegebene Lösung muss eine Lösung sein, die von diesem Arbeitsbereich stammt. Wenn dies nicht der Fall ist oder der Arbeitsbereich seit dem Abrufen der Lösung aus dem Arbeitsbereich aktualisiert wurde, gibt diese Methode "false" zurück. Diese Methode wird weiterhin ausgelöst, wenn die Lösung Änderungen enthält, die gemäß der CanApplyChange(ApplyChangesKind) Methode nicht unterstützt werden.

TryGetWorkspace(SourceTextContainer, Workspace)

Ruft den Arbeitsbereich ab, der dem spezifischen Textcontainer zugeordnet ist.

UnregisterText(SourceTextContainer)

Heben Sie die Registrierung einer Korrespondenz zwischen einem Textcontainer und einem Arbeitsbereich auf.

UpdateReferencesAfterAdd()

Aktualisiert alle Projekte so, dass andere Projekte ordnungsgemäß als Projektverweise und nicht als Metadatenverweise referenziert werden.

Ereignisse

Name Beschreibung
DocumentActiveContextChanged
Veraltet.

Ein Ereignis, das ausgelöst wird, wenn sich das aktive Kontextdokument ändert, das einem Puffer zugeordnet ist.

DocumentClosed
Veraltet.

Ein Ereignis, das ausgelöst wird, wenn ein Document Ereignis im Editor geschlossen wird.

DocumentOpened
Veraltet.

Ein Ereignis, das ausgelöst wird, wenn ein Document Ereignis im Editor geöffnet wird.

TextDocumentClosed
Veraltet.

Ein Ereignis, das ausgelöst wird, wenn ein TextDocument Ereignis im Editor geschlossen wird.

TextDocumentOpened
Veraltet.

Ein Ereignis, das ausgelöst wird, wenn ein TextDocument Ereignis im Editor geöffnet wird.

WorkspaceChanged
Veraltet.

Ein Ereignis wird ausgelöst, wenn die aktuelle Lösung geändert wird.

WorkspaceFailed
Veraltet.

Ein Ereignis wird ausgelöst, wenn der Arbeitsbereich oder ein Teil des Lösungsmodells nicht auf eine Datei oder andere externe Ressource zugreifen kann.

Gilt für: