Proje sorgusu API'si kavramları
Visual Studio'da projeler, bir yürütülebilir dosya veya başka bir çıkış biçiminde birlikte derlenmiş dosya koleksiyonlarıdır ve çözümler de proje koleksiyonlarıdır. Projeler ve çözümler dosya sisteminde sırasıyla proje dosyaları ve çözüm dosyaları tarafından temsil edilir. Daha fazla bilgi için bkz . Visual Studio'da çözümler ve projeler nelerdir?.
Proje sistemi, disk üzerindeki bir proje veya çözüm dosyası (örneğin ve .csproj
) ile .vbproj
Çözüm Gezgini, tasarımcılar, hata ayıklayıcı, dil hizmetleri, derleme ve dağıtım gibi ancak bunlarla sınırlı olmamak üzere çeşitli Visual Studio özellikleri arasında yer alır. Proje sistemleri, kullanıcıların projelerle çalışmasına ve bunları sürdürmesine, sonuçları üretmek için derlemeleri çalıştırmasına ve çıktıyı test etmelerine yardımcı olmak için Visual Studio bileşenlerinin bir parçasıdır ve proje dosyasında yer alan dosyalarla gerçekleşen neredeyse tüm etkileşimler proje sistemi aracılığıyla gerçekleşir. Proje sistemleri hakkında daha fazla bilgiyi burada bulabilirsiniz.
Proje sorgusu API'sinin amacı, uzantıların projeler ve çözümler hakkındaki verileri almasını ve değişiklik yapmasını sağlamaktır.
Proje sorgusuyla yapabileceklerinizle ilgili bazı örnekler:
- Projedeki kaynak dosyaları listeleme
- Proje tarafından hangi NuGet paketlerine başvurıldığını denetleme
- Belirli bir özellik kümesine sahip tüm projeleri bulma
- Projeye yeni dosyalar ekleme
- Projenin özelliklerini değiştirme
Proje sorgusu, çeşitli öğelere başvuran bir dizi yan tümcedir. Daha fazla bilgi edinmek ve sık kullanılan görevlere yönelik proje sorguları örnekleri için bkz . Proje Sorgusuna Genel Bakış .
Proje Sorgu Öğesi Türleri
Proje sorgularınızda başvurabileceğiniz birçok farklı öğe vardır. Bazı öğelerde de başvurulabilen alt veya alt koleksiyonlar vardır. Örneğin, bir WorkSpace
koleksiyonu Projects
içerir ve bunların her biri bir koleksiyonu Files
içerir.
Süre | Açıklama |
---|---|
Çalışma alanı | Giriş noktasını sağlamak için API'nin en üst düzey çalışma alanı. |
PropertiesAvailableStatus | Sonuçta bir özellik değerinin kullanılabilir olup olmadığını denetlemek için giriş noktası. |
QueryableSpace.Projects | Çalışma alanı içindeki tüm projeler. |
QueryableSpace.Solutions | Çalışma alanında tüm çözümler. |
Çözüm | Visual Studio'daki bir çözümü temsil eder. |
Project | Visual Studio'daki projelerin çoğunu temsil eder, ancak çözüm klasörleri VisualStudio.Genişletilebilirlik'te farklı şekilde temsil edilir. |
SolutionFolder | Visual Studio çözümü içindeki projeleri ve dosyaları gruplandırmak için kullanılan bir sanal klasör olan çözüm klasörünü temsil eder. |
Klasör | Bir projenin içerdiği klasörü temsil eder. |
Dosya | Bir proje veya çözüm klasörü tarafından kapsanan bir dosyayı temsil eder. |
ExternalFile | Henüz C++ projeleri tarafından desteklenmeyen bir proje tarafından başvurulan dış dosyaları temsil eder. |
Özellik | Bir projenin, yapılandırmanın veya dosyanın özelliklerinin dinamik kümesini (zayıf ad/tür) temsil eder. |
Rulename | Proje yapılandırmasındaki Kurallar kümesini temsil eder. |
ProjectReference | Paylaşılan proje başvuruları dahil olmak üzere projeden projeye başvuruları temsil eder. |
PackageReference | Proje yapılandırmasındaki paket başvurularını temsil eder; genellikle NuGet paket başvurusu. |
Assemblyreference | Proje yapılandırmasında başvurulan derlemeyi temsil eder. |
ConfigurationDimensionDefinition | Proje yapılandırmalarını bildirmek için değerleri temsil eder. |
ProjectConfiguration | Proje yapılandırmasını temsil eder. |
ConfigurationDimension | Tek bir proje yapılandırmasının her boyutunun değerlerini temsil eder. |
Outputgroup | Bir proje çıktısı koleksiyonunu temsil eder. |
Çıktı | Tek bir çıkış grubu içindeki bir öğeyi temsil eder. |
LaunchProfile | Bir projede tanımlanan başlatma profillerini temsil eder. |
Özellik Sayfası | Proje için gösterilen özellik sayfalarını temsil eder. |
Başlangıç Projeleri | Çözümdeki tanımlı başlangıç projelerini temsil eder. |
Project Query Yan Tümce Türleri
Proje sorgunuzdaki yan tümceler çıkışta ne tür öğelerin döndürülmesi gerektiğini, hangi koleksiyondan gelmeleri gerektiğini, hangi özelliklere sahip olmaları gerektiğini ve döndürülen öğelerin değiştirilebilir olup olmayacağını belirler. Yan tümceler, çıkışı sınırlamak ve filtrelemek için de kullanılır.
Süre | Açıklama |
---|---|
With | Sorgudan döndürülecek bir özelliğin/koleksiyonun değerini istemektedir. |
WithRequired | Bir özelliğin/koleksiyonun istek değeri sorgudan döndürülmelidir. |
Konumu | Sorgu sonucunun bir koşula göre filtrelenmesini istemektedir. |
Al | Sorgu sonucu yerine alt öğeleri alır. |
QueryAsync | Sorgu yürütür ve sonucu IAsyncEnumerable olarak alır. |
Asqueryable | Önceki alınan bir nesneden sorgu başlatır. |
QueryFrom | Önceki alınan nesneler koleksiyonundan bir sorgu başlatır. |
AsUpdatable | Sorgu sonucundan nesneyi güncelleştirmeye başlar. |
ExecuteAsync | Güncelleştirme sorgusu yürütür. |
Proje Sorgusu Filtreleme Türleri
Filtreleme türleri, sorgu sonuçlarının iyileştirmesini ve odağını kolaylaştırır. Aşağıda listelenen belirli filtreleme türlerinin her sorgu öğesi için kullanılamayabileceğini lütfen unutmayın.
Süre | Açıklama |
---|---|
ConfigurationsByName | Sorgu sonuçlarını belirli bir yapılandırma adına göre filtreler. |
FilesByPath | Sorgu sonuçlarını belirli bir dosya yoluna filtreler. |
OutputGroupsByName | Sorgu sonuçlarını belirli bir çıkış grubu adına filtreler. |
ProjectsByCapabilities | Sorguyu belirli proje özelliklerine göre filtreler. |
ProjectsByPath | Sorgu sonuçlarını belirli bir proje yoluna filtreler. |
ProjectsByProjectGuid | Sorgu sonuçlarını belirli bir proje guid'sine filtreler. |
RuleResultsByRuleName | Sorguyu belirli bir kural adına göre filtreler. |
Atla | Atlayarak sınırlı sayıda öğeye sorgu sonucu yürütür. |
Proje Sorgusu Eylem Türleri
Proje sorgunuzdaki eylemler, proje sisteminde hangi değişikliklerin yapıldığını belirler. Her sorgu öğesi türünün kendilerine özel eylemleri olduğunu unutmayın. Aşağıda eylem sorgularının basit bir listesi yer almaktadır.
Süre | Açıklama |
---|---|
AddAssemblyReference | Projeye derleme başvurusu ekleme işlemini temsil eder. |
AddConfigurationDimensionValue | Yapılandırma boyutuna yeni bir değer ekler (örneğin, Yapılandırma veya Platform). |
AddFiles | Projeye var olan bir dosyayı ekleme işlemini temsil eder. |
AddLaunchProfile | Projeye yeni başlatma profili ekleme işlemini temsil eder. |
AddPackageReference | Projeye paket başvurusu ekleme işlemini temsil eder. |
AddProjectReference | Projeye proje başvurusu ekleme işlemini temsil eder. |
AddProject | Bir çözüme veya çözüm klasörüne proje ekleme işlemini temsil eder. |
AddProjectReferenceByPath | Projenin yoluna proje başvurusu ekleme işlemini temsil eder. |
AddSolutionConfiguration | Çözüm yapılandırması ekleme işlemini temsil eder. |
Derleme | Çözüm oluşturma işlemini temsil eder. |
Clean | Çözümü temizleme işlemini temsil eder. |
ConfigurationDimensionValue | Yapılandırmanın boyut değerini ayarlama işlemini temsil eder. |
Createfile | Projede yeni dosya oluşturma işlemini temsil eder. |
Createfolder | Projede klasör oluşturma işlemini temsil eder. |
CreateSolutionFolder | Çözüme veya mevcut bir çözüm klasörüne çözüm klasörü ekleme işlemini temsil eder. |
Hata Ayıklama | Bir çözümün hatalarını ayıklama işlemini temsil eder. |
DeleteConfigurationDimensionValue | Yapılandırma boyutundan bir değeri siler (örneğin, Yapılandırma veya Platform). |
Sil | Bir Projeyi silme işlemini temsil eder. |
DeleteSolutionConfiguration | Çözüm yapılandırmasını kaldırma işlemini temsil eder. |
Dağıtma | Çözümü dağıtma işlemini temsil eder. |
DuplicateLaunchProfile | Var olan bir başlatma profilini çoğaltma işlemini temsil eder. |
Dışarıda bırak | Projeyi dışlama işlemini temsil eder. |
Yeniden derleme | Çözümü yeniden derleme işlemini temsil eder. |
Yeniden YükleProje | Projeyi yeniden yükleme işlemini temsil eder. |
RemoveLaunchProfile | Bir projeden başlatma profilini kaldırma işlemini temsil eder. |
RenameFile | Projedeki bir dosyayı yeniden adlandırma işlemini temsil eder. |
RenameFolder | Projedeki bir klasörü yeniden adlandırma işlemini temsil eder. |
RenameSolutionFolder | Çözüm klasörünü yeniden adlandırma işlemini temsil eder. |
RenameProject | Projeyi yeniden adlandırma işlemini temsil eder. |
Çalıştır | Bir çözümü çalıştırma işlemini temsil eder. |
RunCustomTool | Özel bir araç çalıştırma işlemini temsil eder. |
Kaydet | Projeyi kaydetme işlemini temsil eder. |
Setpropertyvalue | Özellik değeri ayarlama işlemini temsil eder. |
SetCopyToLocal | Proje başvurusu için CopyToLocal değerini ayarlama işlemini temsil eder. |
SetBuildProperty | Proje yapılandırma derleme özelliğinin değerini ayarlama işlemini temsil eder. |
SetEvaluatedUIPropertyValue | Kullanıcı görünür özelliğinin değerlendirilen değerini ayarlama işlemini temsil eder. |
SetLaunchProfilePropertyValue | Başlatma profili aracılığıyla kullanıma sunulan bir özelliğin değerini ayarlama işlemini temsil eder. |
SetPackageReferenceVersion | Çözüm klasörünü yeniden adlandırma işlemini temsil eder. |
SetSolutionFolderName | Çözüm klasörü adı ayarlama işlemini temsil eder. |
SetStartupProjects | Başlangıç projesi ayarlama işlemini temsil eder. |
SetUnevaluatedUIPropertyValue | User-visible özelliğinin değerlendirilmemiş değerini ayarlama işlemini temsil eder. |
UnloadProject | Projeyi kaldırma işlemini temsil eder. |
WaitIntellisenseReady | Proje veya çözüm intellisense işleminin ilerleme durumunun hazır olmasını bekleme işlemini temsil eder. |
Proje Sorgusu Güncelleştirmeler Türleri
Bu sorgular, sorgu sonuçlarında yapılan güncelleştirmelerin izlenmesini destekler.
Süre | Açıklama |
---|---|
track Güncelleştirmeler Async | Sorgudaki değişiklikleri izleme işlemini temsil eder. |
İlgili içerik
Yaygın görevlere yönelik proje sorgularının bazı örneklerini görmek için bkz. Proje Sorgusuna Genel Bakış
Proje sorgusu API'sini kullanan örnek bir uzantı için bkz. Project Query Örneği