Microsoft.VisualStudio.Utilities.Internal 命名空间

AsyncHttpWebRequest

HttpWeb 请求包装器

CodeContract

CodeContract 用于验证输入参数

DictionaryExtensions

多种字典扩展方法。

FileBasedRegistry
FileBasedRegistryTools

使用适用于 Unix/MacOS 的 FileBasedRegistry 的 IRegistryTools 的基于文件的实现。 不支持计算机级注册表。

MacNativeMethods

包含我们在 macOS 上使用的遥测库中使用的所有 PInvoke 定义的类。

ObjectExtensions

对象扩展方法

Platform

确定运行进程的平台。

RegistryTools

用于从注册表获取信息的帮助程序类

RegistryValue

包含可序列化 Mono 兼容 FileBasedRegistry 的注册表值

RegistryValues

包含可序列化 Mono 兼容 FileBasedRegistry 的注册表值

ReparsePointAware

文件和目录实用工具函数的集合,用于确保正在交互的文件和文件夹的路径上没有 Windows 重分析点,并且代码中的路径与磁盘上的实际路径匹配。

重分析点注入是安全漏洞的已知/常见向量。 有关它们的更多常规信息,请参阅此处: https://docs.microsoft.com/en-us/windows/win32/fileio/reparse-points

这组函数的目标是获取 Windows 文件句柄,验证它是否位于预期路径中,然后使用相同的句柄执行所有文件操作。 验证文件并使用文件路径执行任何其他操作不是一种安全模式,因为攻击者可能会利用文件检查与基于文件路径的文件操作之间的争用。 此类攻击称为“检查时间/使用时间” (TOCTOU) 。 为避免这种情况,此类将保留文件句柄,并在句柄被视为位于正确位置后对句柄执行所有操作。 由于所有操作都基于文件句柄,因此我们知道我们正在修改已验证为正确的文件。

StreamedHttpWebResponse

具有流实现的 HttpWeb 响应包装器。

StringExtensions

扩展多个字符串方法

TaskExtensions

任务扩展

结构

MacNativeMethods.OSVersionInfo
MacNativeMethods.SystemInfo

接口

IAsyncHttpWebRequest

HttpWeb 请求包装器接口。

IRegistryTools

用于从注册表获取信息的帮助程序类

IRegistryTools2
IRegistryTools3
IRegistryTools4
IStreamedHttpWebResponse

HttpWeb 响应包装器接口。

枚举

ErrorCode

响应的可能错误代码。