解决方案用户选项 (.suo) 文件

解决方案用户选项 (.suo) 文件包含每用户解决方案选项。 不应将此文件检查源代码控制。

解决方案用户选项 (.suo) 文件是以二进制格式存储的结构化存储或复合文件。 将用户信息保存到流中,该流的名称是用于标识 .suo 文件中信息的密钥。 解决方案用户选项文件用于存储用户首选项设置,并在 Visual Studio 保存解决方案时自动创建。

当环境打开 .suo 文件时,它会枚举当前加载的所有 VSPackage。 如果 VSPackage 实现 IVsPersistSolutionOpts 接口,则环境会在 VSPackage 上调用 LoadUserOptions 该方法,要求它从 .suo 文件加载其所有数据。

VSPackage 负责知道它可能写入到 .suo 文件中的流。 对于它写入的每个流,VSPackage 将调用回环境 LoadPackageUserOpts ,以加载由密钥标识的特定流,该流是流的名称。 然后,环境调用 VSPackage 来读取该特定流,该流的名称和指向 IStream 方法的 LoadPackageUserOpts 指针。

此时,将进行另一个调用,以查看 LoadUserOptions 是否还有必须读取的 .suo 文件的另一部分。 此过程一直持续到 .suo 文件中的所有数据流都已由环境读取和处理。

保存或关闭解决方案时,环境将使用指向该方法的SaveUserOptions指针调用SavePackageSolutionProps该方法。 IStream包含要保存的二进制信息将传递给该方法,然后将信息写入 WriteUserOptions .suo 文件,并再次调用SaveUserOptions该方法,以查看是否有另一个要写入 .suo 文件的信息流。

这两种方法 SaveUserOptions ,对于 WriteUserOptions要保存到 .suo 文件的每个信息流,以递归方式调用,并传入指向的指针 IVsSolutionPersistence。 它们以递归方式调用,以允许将多个流写入 .suo 文件。 这样一来,用户信息会随解决方案一起保留,并保证下次打开解决方案时会存在。

另请参阅