AdhocWorkspace 类

定义

一个工作区,它允许完全操作项目和文档,但不保留更改。

public ref class AdhocWorkspace sealed : Microsoft::CodeAnalysis::Workspace
public sealed class AdhocWorkspace : Microsoft.CodeAnalysis.Workspace
type AdhocWorkspace = class
    inherit Workspace
Public NotInheritable Class AdhocWorkspace
Inherits Workspace
继承
AdhocWorkspace

构造函数

AdhocWorkspace()

一个工作区,它允许完全操作项目和文档,但不保留更改。

AdhocWorkspace(HostServices, String)

允许完全操作项目和文档,但不保留更改的工作区。

属性

CanOpenDocuments

返回 true,表示可以调用打开和关闭文档 API 以将文档添加到打开的文档列表中。

CurrentSolution

当前解决方案。

解决方案是当前项目和源文档集的不可变模型。 它提供对源文本、语法树和语义的访问。

当工作区对环境中的更改做出响应或调用后 TryApplyChanges(Solution) ,此属性可能会更改。

(继承自 Workspace)
Kind

工作区的类型。 这通常 Host 源自主机环境,但可能是用于特定类型工作区的任何其他名称。

(继承自 Workspace)
Options
已过时.

获取或设置所有全局选项和 Options的集。 Setter 还强制更新 以 CurrentSolution 具有更新 Options的 。

(继承自 Workspace)
PartialSemanticsEnabled

如果工作区支持文档的部分语义,请重写此属性。

(继承自 Workspace)
Services

由主机提供的用于实现工作区功能的服务提供程序。

(继承自 Workspace)

方法

AddDocument(DocumentInfo)

将文档添加到工作区。

AddDocument(ProjectId, String, SourceText)

将文档添加到工作区。

AddProject(ProjectInfo)

将项目添加到工作区。 以前的所有项目保持不变。

AddProject(String, String)

将项目添加到工作区。 以前的所有项目保持不变。

AddProjects(IEnumerable<ProjectInfo>)

同时将多个项目添加到工作区。 所有现有项目保持不变。

AddSolution(SolutionInfo)

将整个解决方案添加到工作区,替换任何现有解决方案。

AdjustReloadedProject(Project, Project)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
AdjustReloadedSolution(Solution, Solution)

此方法在 OnSolutionReload 期间调用。 如果要操作重新加载的解决方案,请重写此方法。

(继承自 Workspace)
ApplyAdditionalDocumentAdded(DocumentInfo, SourceText)

在 期间 TryApplyChanges(Solution) 调用此方法以向项目添加新的附加文档。

重写此方法以实现添加其他文档的功能。

(继承自 Workspace)
ApplyAdditionalDocumentRemoved(DocumentId)

期间调用 TryApplyChanges(Solution) 此方法以从项目中删除其他文档。

重写此方法以实现删除其他文档的功能。

(继承自 Workspace)
ApplyAdditionalDocumentTextChanged(DocumentId, SourceText)

调用此方法可更改其他文档的文本。

重写此方法以实现更改其他文档文本的功能。

(继承自 Workspace)
ApplyAnalyzerConfigDocumentAdded(DocumentInfo, SourceText)

在 期间 TryApplyChanges(Solution) 调用此方法以将新的分析器配置文档添加到项目。

重写此方法以实现添加分析器配置文档的功能。

(继承自 Workspace)
ApplyAnalyzerConfigDocumentRemoved(DocumentId)

期间调用 TryApplyChanges(Solution) 此方法以从项目中删除分析器配置文档。

重写此方法以实现删除分析器配置文档的功能。

(继承自 Workspace)
ApplyAnalyzerConfigDocumentTextChanged(DocumentId, SourceText)

调用此方法可更改分析器配置文档的文本。

重写此方法以实现更改分析器配置文档文本的功能。

(继承自 Workspace)
ApplyAnalyzerReferenceAdded(ProjectId, AnalyzerReference)

在 期间 TryApplyChanges(Solution) 调用此方法以添加对项目的分析器引用。

重写此方法以实现添加分析器引用的功能。

(继承自 Workspace)
ApplyAnalyzerReferenceRemoved(ProjectId, AnalyzerReference)

期间调用 TryApplyChanges(Solution) 此方法以从项目中删除分析器引用。

重写此方法以实现删除分析器引用的功能。

(继承自 Workspace)
ApplyCompilationOptionsChanged(ProjectId, CompilationOptions)

在 期间 TryApplyChanges(Solution) 调用此方法以更改编译选项。

重写此方法以实现更改编译选项的功能。

(继承自 Workspace)
ApplyDocumentAdded(DocumentInfo, SourceText)

在 期间 TryApplyChanges(Solution) 调用此方法以将新文档添加到项目。

重写此方法以实现添加文档的功能。

(继承自 Workspace)
ApplyDocumentInfoChanged(DocumentId, DocumentInfo)

调用此方法可更改文档的信息。

重写此方法以实现更改文档信息的功能。

(继承自 Workspace)
ApplyDocumentRemoved(DocumentId)

在 期间 TryApplyChanges(Solution) 调用此方法以从项目中删除文档。

重写此方法以实现删除文档的功能。

(继承自 Workspace)
ApplyDocumentTextChanged(DocumentId, SourceText)

调用此方法可更改文档的文本。

重写此方法以实现更改文档文本的功能。

(继承自 Workspace)
ApplyMetadataReferenceAdded(ProjectId, MetadataReference)

在 期间 TryApplyChanges(Solution) 调用此方法以添加对项目的元数据引用。

重写此方法以实现添加元数据引用的功能。

(继承自 Workspace)
ApplyMetadataReferenceRemoved(ProjectId, MetadataReference)

期间 TryApplyChanges(Solution) 调用此方法以从项目中删除元数据引用。

重写此方法以实现删除元数据引用的功能。

(继承自 Workspace)
ApplyParseOptionsChanged(ProjectId, ParseOptions)

在 期间 TryApplyChanges(Solution) 调用此方法以更改分析选项。

重写此方法以实现更改分析选项的功能。

(继承自 Workspace)
ApplyProjectAdded(ProjectInfo)

在 期间 TryApplyChanges(Solution) 调用此方法以将项目添加到当前解决方案。

重写此方法以实现添加项目的功能。

(继承自 Workspace)
ApplyProjectChanges(ProjectChanges)

对于添加、删除或更改的每个项目,将在期间 TryApplyChanges(Solution) 调用此方法。

如果要修改项目更改的应用方式,请重写此方法。

(继承自 Workspace)
ApplyProjectReferenceAdded(ProjectId, ProjectReference)

在 期间 TryApplyChanges(Solution) 调用此方法以添加对项目的项目引用。

重写此方法以实现添加项目引用的功能。

(继承自 Workspace)
ApplyProjectReferenceRemoved(ProjectId, ProjectReference)

期间调用 TryApplyChanges(Solution) 此方法以从项目中删除项目引用。

重写此方法以实现删除项目引用的功能。

(继承自 Workspace)
ApplyProjectRemoved(ProjectId)

期间调用 TryApplyChanges(Solution) 此方法以从当前解决方案中删除项目。

重写此方法以实现删除项目的功能。

(继承自 Workspace)
CanApplyChange(ApplyChangesKind)

一个工作区,它允许完全操作项目和文档,但不保留更改。

CanApplyCompilationOptionChange(CompilationOptions, CompilationOptions, Project)

在调用 TryApplyChanges(Solution) 期间调用以确定是否允许对 CompilationOptions 进行特定更改。

(继承自 Workspace)
CanApplyParseOptionChange(ParseOptions, ParseOptions, Project)

在调用 TryApplyChanges(Solution) 期间调用以确定是否允许对 ParseOptions 进行特定更改。

(继承自 Workspace)
CheckAdditionalDocumentIsInCurrentSolution(DocumentId)

如果其他文档不是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckAdditionalDocumentIsNotInCurrentSolution(DocumentId)

如果其他文档已是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckAnalyzerConfigDocumentIsInCurrentSolution(DocumentId)

如果分析器配置不是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckAnalyzerConfigDocumentIsNotInCurrentSolution(DocumentId)

如果分析器配置文档已是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckCanOpenDocuments()

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
CheckDocumentCanBeRemoved(DocumentId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
CheckDocumentIsClosed(DocumentId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
CheckDocumentIsInCurrentSolution(DocumentId)

如果文档不是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckDocumentIsNotInCurrentSolution(DocumentId)

如果文档已是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckDocumentIsOpen(DocumentId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
CheckProjectCanBeRemoved(ProjectId)

当前始终可以删除项目,但此方法仍然存在,因为它受到保护,我们不希望中断可能派生自 Workspace 并调用它或重写它的人员。

(继承自 Workspace)
CheckProjectDoesNotContainOpenDocuments(ProjectId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
CheckProjectDoesNotHaveAnalyzerReference(ProjectId, AnalyzerReference)

如果项目已有特定的分析器引用,则引发异常。

(继承自 Workspace)
CheckProjectDoesNotHaveMetadataReference(ProjectId, MetadataReference)

如果项目已有特定的元数据引用,则引发异常。

(继承自 Workspace)
CheckProjectDoesNotHaveProjectReference(ProjectId, ProjectReference)

如果项目已有特定的项目引用,则引发异常。

(继承自 Workspace)
CheckProjectDoesNotHaveTransitiveProjectReference(ProjectId, ProjectId)

如果项目具有对另一个项目的可传递引用,则引发异常。

(继承自 Workspace)
CheckProjectHasAnalyzerReference(ProjectId, AnalyzerReference)

如果项目没有特定的分析器引用,则引发异常。

(继承自 Workspace)
CheckProjectHasMetadataReference(ProjectId, MetadataReference)

如果项目没有特定的元数据引用,则引发异常。

(继承自 Workspace)
CheckProjectHasProjectReference(ProjectId, ProjectReference)

如果项目没有特定的项目引用,则引发异常。

(继承自 Workspace)
CheckProjectIsInCurrentSolution(ProjectId)

如果项目不是当前解决方案的一部分,则引发异常。

(继承自 Workspace)
CheckProjectIsNotInCurrentSolution(ProjectId)

如果项目是当前解决方案的一部分,则会引发异常。

(继承自 Workspace)
CheckSolutionIsEmpty()

如果解决方案不为空,则引发异常。

(继承自 Workspace)
ClearDocumentData(DocumentId)

调用此方法以清除删除单个文档。

如果要在删除文档时执行其他工作,请重写此方法。 在方法末尾调用基方法。

(继承自 Workspace)
ClearOpenDocument(DocumentId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
ClearOpenDocument(DocumentId, Boolean)
已过时.

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
ClearProjectData(ProjectId)

删除单个项目时调用此方法。

如果要在删除项目时执行其他工作,请重写此方法。 在方法末尾调用基方法。

(继承自 Workspace)
ClearSolution()

清除工作区中的所有项目和文档。

ClearSolutionData()

清除解决方案时调用此方法。

如果要在清除解决方案时执行其他工作,请重写此方法。 在方法末尾调用基方法。

此方法在持有锁时调用。 当重写为 innapropriate 工作可能会导致死锁时,请非常小心。

(继承自 Workspace)
CloseAdditionalDocument(DocumentId)

将指定的附加文档置于关闭状态

CloseAnalyzerConfigDocument(DocumentId)

将指定的分析器配置文档置于关闭状态

CloseAnalyzerConfigDocument(DocumentId)

关闭主机环境中的指定分析器配置文档。

(继承自 Workspace)
CloseDocument(DocumentId)

将指定的文档置于关闭状态。

CreateSolution(SolutionId)

创建与此工作区关联的新空解决方案实例。

(继承自 Workspace)
CreateSolution(SolutionInfo)

创建与此工作区关联的新空解决方案实例。

(继承自 Workspace)
Dispose()

释放此工作区。 释放工作区后,可以使用更长时间。

(继承自 Workspace)
Dispose(Boolean)

释放工作区时调用此方法。

重写此方法以在释放工作区时执行其他工作。 在方法末尾调用此方法。

(继承自 Workspace)
GetAdditionalDocumentName(DocumentId)

获取要用于错误消息中其他文档的名称。

(继承自 Workspace)
GetAnalyzerConfigDocumentName(DocumentId)

获取错误消息中要用于分析器文档的名称。

(继承自 Workspace)
GetDocumentIdInCurrentContext(SourceTextContainer)

获取与其当前上下文中给定文本容器关联的文档的 ID。 打开文档时,文档通常与文本容器相关联。

(继承自 Workspace)
GetDocumentName(DocumentId)

获取要用于错误消息中的文档的名称。

(继承自 Workspace)
GetOpenDocumentIds(ProjectId)

获取当前打开的文档的列表。

(继承自 Workspace)
GetProjectName(ProjectId)

获取错误消息中要用于项目的名称。

(继承自 Workspace)
GetRelatedDocumentIds(SourceTextContainer)

获取与给定 container关联的快照中CurrentSolution文档的 ID。 打开文档时,文档通常与文本容器相关联。

(继承自 Workspace)
IsDocumentOpen(DocumentId)

确定文档当前是否在主机环境中打开。

(继承自 Workspace)
OnAdditionalDocumentAdded(DocumentInfo)

将其他文档添加到主机环境中的项目时,调用此方法。

(继承自 Workspace)
OnAdditionalDocumentClosed(DocumentId, TextLoader)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OnAdditionalDocumentOpened(DocumentId, SourceTextContainer, Boolean)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OnAdditionalDocumentRemoved(DocumentId)

从主机环境中的项目中删除其他文档时,请调用此方法。

(继承自 Workspace)
OnAdditionalDocumentTextChanged(DocumentId, SourceText, PreservationMode)

在主机环境中更新其他文档的文本时,调用此方法。

(继承自 Workspace)
OnAdditionalDocumentTextLoaderChanged(DocumentId, TextLoader)

当磁盘上其他文档的文本发生更改时,调用此方法。

(继承自 Workspace)
OnAnalyzerConfigDocumentAdded(DocumentInfo)

将分析器配置文档添加到主机环境中的项目时调用此方法。

(继承自 Workspace)
OnAnalyzerConfigDocumentClosed(DocumentId, TextLoader)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OnAnalyzerConfigDocumentOpened(DocumentId, SourceTextContainer, Boolean)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OnAnalyzerConfigDocumentRemoved(DocumentId)

从主机环境中的项目中删除分析器配置文档时,调用此方法。

(继承自 Workspace)
OnAnalyzerConfigDocumentTextChanged(DocumentId, SourceText, PreservationMode)

在主机环境中更新分析器配置文档的文本时调用此方法。

(继承自 Workspace)
OnAnalyzerConfigDocumentTextLoaderChanged(DocumentId, TextLoader)

当分析器配置文档的文本在磁盘上发生更改时调用此方法。

(继承自 Workspace)
OnAnalyzerReferenceAdded(ProjectId, AnalyzerReference)

将分析器引用添加到主机环境中的项目时调用此方法。

(继承自 Workspace)
OnAnalyzerReferenceRemoved(ProjectId, AnalyzerReference)

从主机环境中的项目中删除分析器引用时调用此方法。

(继承自 Workspace)
OnAssemblyNameChanged(ProjectId, String)

在主机环境中更改项目的程序集名称时调用此方法。

(继承自 Workspace)
OnCompilationOptionsChanged(ProjectId, CompilationOptions)

当项目的编译选项在主机环境中发生更改时调用此方法。

(继承自 Workspace)
OnDocumentAdded(DocumentInfo)

将文档添加到主机环境中的项目时调用此方法。

(继承自 Workspace)
OnDocumentClosed(DocumentId, TextLoader, Boolean)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OnDocumentClosing(DocumentId)

重写此方法以便在文档关闭时立即执行操作,而不是等待相应的工作区更改事件异步触发。

(继承自 Workspace)
OnDocumentContextUpdated(DocumentId)

当文档在主机环境中成为活动上下文时,调用此方法。

(继承自 Workspace)
OnDocumentInfoChanged(DocumentId, DocumentInfo)

当文档信息(如名称、文件夹或文件路径)发生更改时调用此方法。

(继承自 Workspace)
OnDocumentOpened(DocumentId, SourceTextContainer, Boolean)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OnDocumentReloaded(DocumentInfo)

在主机环境中重新加载文档时调用此方法。

(继承自 Workspace)
OnDocumentRemoved(DocumentId)

从主机环境中的项目中删除文档时调用此方法。

(继承自 Workspace)
OnDocumentsAdded(ImmutableArray<DocumentInfo>)

将多个文档添加到主机环境中的一个或多个项目时,调用此方法。

(继承自 Workspace)
OnDocumentSourceCodeKindChanged(DocumentId, SourceCodeKind)

当文档的 SourceCodeKind 在主机环境中发生更改时调用此方法。

(继承自 Workspace)
OnDocumentTextChanged(Document)

重写此方法以在文档文本发生更改时立即执行操作,而不是等待相应的工作区更改事件异步触发。

(继承自 Workspace)
OnDocumentTextChanged(DocumentId, SourceText, PreservationMode)

在主机环境中更新文档文本时调用此方法。

(继承自 Workspace)
OnDocumentTextLoaderChanged(DocumentId, TextLoader)

在磁盘上更改文档文本时调用此方法。

(继承自 Workspace)
OnMetadataReferenceAdded(ProjectId, MetadataReference)

将元数据引用添加到主机环境中的项目时调用此方法。

(继承自 Workspace)
OnMetadataReferenceRemoved(ProjectId, MetadataReference)

从主机环境中的项目中删除元数据引用时调用此方法。

(继承自 Workspace)
OnOutputFilePathChanged(ProjectId, String)

当项目的输出文件路径在主机环境中更改时调用此方法。

(继承自 Workspace)
OnOutputRefFilePathChanged(ProjectId, String)

当项目的输出引用文件路径在主机环境中发生更改时调用此方法。

(继承自 Workspace)
OnParseOptionsChanged(ProjectId, ParseOptions)

当项目的分析选项在主机环境中发生更改时调用此方法。

(继承自 Workspace)
OnProjectAdded(ProjectInfo)

调用此方法以响应在主机环境中添加/打开的项目。

(继承自 Workspace)
OnProjectNameChanged(ProjectId, String, String)

在主机环境中更改项目名称时调用此方法。

(继承自 Workspace)
OnProjectReferenceAdded(ProjectId, ProjectReference)

将项目引用添加到主机环境中的项目时调用此方法。

(继承自 Workspace)
OnProjectReferenceRemoved(ProjectId, ProjectReference)

从主机环境中的项目中删除项目引用时调用此方法。

(继承自 Workspace)
OnProjectReloaded(ProjectInfo)

调用此方法以响应在主机环境中重新加载的项目。

(继承自 Workspace)
OnProjectRemoved(ProjectId)

调用此方法以响应要从主机环境中删除的项目。

(继承自 Workspace)
OnSolutionAdded(SolutionInfo)

调用此方法以响应在主机环境中打开的解决方案。

(继承自 Workspace)
OnSolutionReloaded(SolutionInfo)

调用此方法以响应在主机环境中重新加载的解决方案。

(继承自 Workspace)
OnSolutionRemoved()

从工作区中删除解决方案时,将调用此方法。

如果要在删除解决方案时执行其他工作,请重写此方法。 在方法末尾调用基方法。 调用此方法以响应在主机环境中删除/清除/关闭的解决方案。

(继承自 Workspace)
OnWorkspaceFailed(WorkspaceDiagnostic)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
OpenAdditionalDocument(DocumentId, Boolean)

将指定的附加文档置于打开状态。

OpenAnalyzerConfigDocument(DocumentId, Boolean)

将指定的分析器配置文档置于打开状态。

OpenAnalyzerConfigDocument(DocumentId, Boolean)

在主机环境中打开指定的分析器配置文档。

(继承自 Workspace)
OpenDocument(DocumentId, Boolean)

将指定的文档置于打开状态。

RaiseDocumentActiveContextChangedEventAsync(Document)
已过时.

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RaiseDocumentActiveContextChangedEventAsync(SourceTextContainer, DocumentId, DocumentId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RaiseDocumentClosedEventAsync(Document)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RaiseDocumentOpenedEventAsync(Document)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RaiseTextDocumentClosedEventAsync(TextDocument)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RaiseTextDocumentOpenedEventAsync(TextDocument)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RaiseWorkspaceChangedEventAsync(WorkspaceChangeKind, Solution, Solution, ProjectId, DocumentId)

一个工作区,它允许完全操作项目和文档,但不保留更改。

(继承自 Workspace)
RegisterText(SourceTextContainer)

注册文本容器与工作区之间的对应关系。

(继承自 Workspace)
ScheduleTask(Action, String)

将操作作为后台任务执行,作为任务顺序队列的一部分。

(继承自 Workspace)
ScheduleTask<T>(Func<T>, String)

将函数作为后台任务执行,作为任务顺序队列的一部分。

(继承自 Workspace)
SetCurrentSolution(Solution)

CurrentSolution设置此工作区的 。 此方法不引发 WorkspaceChanged 事件。

(继承自 Workspace)
TryApplyChanges(Solution)

将对解决方案所做的更改应用回工作区。

指定的解决方案必须是源自此工作区的解决方案。 如果不是,或者工作区自从工作区获取解决方案以来已更新,则此方法返回 false。 如果解决方案包含根据 CanApplyChange(ApplyChangesKind) 方法不支持的更改,则此方法仍会引发。

(继承自 Workspace)
UnregisterText(SourceTextContainer)

取消注册文本容器和工作区之间的对应关系。

(继承自 Workspace)
UpdateReferencesAfterAdd()

汇报所有项目,以正确引用其他项目作为项目引用,而不是元数据引用。

(继承自 Workspace)

事件

DocumentActiveContextChanged

与缓冲区关联的活动上下文文档发生更改时触发的事件。

(继承自 Workspace)
DocumentClosed

在编辑器中关闭 时 Document 触发的事件。

(继承自 Workspace)
DocumentOpened

在编辑器中打开 时 Document 触发的事件。

(继承自 Workspace)
TextDocumentClosed

在编辑器中关闭任何 TextDocument 事件时触发的事件。

(继承自 Workspace)
TextDocumentOpened

在编辑器中打开任何 TextDocument 时触发的事件。

(继承自 Workspace)
WorkspaceChanged

每当更改当前解决方案时引发的事件。

(继承自 Workspace)
WorkspaceFailed

每当工作区或其解决方案模型的一部分无法访问文件或其他外部资源时引发的事件。

(继承自 Workspace)

适用于