Çözüm Kullanıcı Seçenekleri (.suo) Dosyası
Çözüm kullanıcı seçenekleri (.suo) dosyası, kullanıcı başına çözüm seçeneklerini içerir. Bu dosya kaynak kod denetiminde iade edilmemelidir.
Çözüm kullanıcı seçenekleri (.suo) dosyası, ikili biçimde depolanan yapılandırılmış bir depolama veya bileşik dosyadır. .suo dosyasındaki bilgileri tanımlamak için kullanılacak anahtar olan akışın adıyla kullanıcı bilgilerini akışlara kaydedersiniz. Çözüm kullanıcı seçenekleri dosyası, kullanıcı tercihi ayarlarını depolamak için kullanılır ve Visual Studio bir çözümü kaydettiğinde otomatik olarak oluşturulur.
Ortam bir .suo dosyası açtığında, o anda yüklü olan tüm VSPackage'ları numaralandırır. VsPackage arabirimini uygularsa IVsPersistSolutionOpts ortam VSPackage'da yöntemini çağırarak LoadUserOptions .suo dosyasından tüm verilerini yüklemesini ister.
.suo dosyasına hangi akışların yazmış olabileceğini bilmek VSPackage'ın sorumluluğundadır. VSPackage, yazdığı her akış için, akışın adı olan anahtar tarafından tanımlanan belirli bir akışı yüklemek için aracılığıyla ortama LoadPackageUserOpts geri çağrır. Ortam daha sonra VSPackage'a geri çağrı yaparak akışın adını ve yöntemine bir işaretçi LoadPackageUserOpts ileten belirli bir IStream
akışı okur.
Bu noktada, .suo dosyasının okunacak başka bir bölümü olup olmadığını görmek için LoadUserOptions
başka bir çağrı yapılır. Bu işlem, .suo dosyasındaki tüm veri akışları ortam tarafından okunup işlenene kadar devam eder.
Çözüm kaydedildiğinde veya kapatıldığında, ortam yöntemine SavePackageSolutionProps SaveUserOptions bir işaretçiyle yöntemini çağırır. Kaydedilecek ikili bilgileri içeren bir IStream
yöntemine WriteUserOptions geçirilir ve ardından bilgileri .suo dosyasına yazar ve .suo dosyasına yazılacak başka bir bilgi akışı olup olmadığını görmek için yöntemini yeniden çağırır SaveUserOptions
.
bu iki yöntem SaveUserOptions
ve WriteUserOptions
, işaretçisini IVsSolutionPersistence
öğesine geçirerek .suo dosyasına kaydedilecek her bilgi akışı için özyinelemeli olarak çağrılır. Bunlar, .suo dosyasına birden çok akışın yazabilmesi için özyinelemeli olarak çağrılır. Bu şekilde, kullanıcı bilgileri çözümle birlikte kalır ve çözümün bir sonraki açılışında orada olacağı garanti edilir.