解决方案用户选项 (.suo) 文件是结构化存储或 ",以二进制格式存储的文件。 您保存用户信息。与流的名称的流将用于标识在 .suo 文件的信息的键。 ,当 Visual Studio 保存一个解决方案时,解决方案用户选项文件用于存储用户首选项设置和自动创建。
当环境打开 .suo 文件时,该枚举所有当前加载的 Vspackage。 如果 VSPackage 实现 IVsPersistSolutionOpts 界面,则该环境对请求的 VSPackage 中 LoadUserOptions 方法它从 .suo 文件加载其所有数据。
是 VSPackage 的职责知道流它可能需要编写到 .suo 文件。 对于它编写的每个流, VSPackage 调用返回到该环境。 LoadPackageUserOpts 加载由键标识的,是流的名称的特殊流。 该环境然后调用返回 VSPackage 读取超出流和 IStream 指针的名称该特定流。 LoadPackageUserOpts 方法。
此时,另一个调用对 LoadUserOptions 核对必须读取 .suo 文件的另一部分。 此过程将继续,直至所有在 .suo 文件的数据流由环境读取并处理。
在解决方案中保存或关闭时,环境将使用指针的 SavePackageSolutionProps 方法以 SaveUserOptions 方法。 包含二进制信息的 IStream 将保存传递给 WriteUserOptions 方法,然后写入 .suo 文件的信息并再次调用 SaveUserOptions 方法确定是否有信息另一个流写入 .suo 文件。
这两种方法, SaveUserOptions 和 WriteUserOptions,为要保存的信息每个流递归调用 .suo 文件,通过在指向 IVsSolutionPersistence。 它们递归调用允许多个流写入 .suo 文件。 在这样,那么,当下次打开,用户信息保存在解决方案并确保在其中解决方案。