Kullanılabilir aracılı hizmetleri bulma
Aracılı hizmetler Visual Studio veya uzantıları tarafından kullanıma sunılabilir. Bu belgede Visual Studio tarafından kullanıma sunulan aracılı hizmetlerin nasıl keşfedilmesi açıklanır.
Kendi aracılı hizmetlerini bulmak için uzantının belgelerine bakın.
Visual Studio hizmetleri sınıfı
Visual Studio ve Visual Studio SDK'sı birçok aracılı hizmet sunar. Bu hizmetlerin her birine genellikle sınıfından elde VisualStudioServices edilebilen bir ServiceRpcDescriptor aracılığıyla erişilebilir.
Diğer aracılı hizmetler mevcut olabilir ve belirli Visual Studio özellikleriyle belgelenebilir.
sınıfı, Visual Studio'nun VisualStudioServices çeşitli ana veya ikincil sürümleri için statik bir özellik bildirir. Bu özelliklerin her biri, aracılı bir hizmet için kullanıma ServiceRpcDescriptor sunan özellikleri bildiren bir sınıfın örneğini döndürür. Bu şekilde, Visual Studio'nun belirli bir sürümü tarafından desteklenen aracılı hizmetler kümesini kolayca keşfedebilirsiniz.
Örneğin, aracılı çözüm hizmeti Visual Studio 2019 Güncelleştirme 5'te kullanıma sunulmuştur. ServiceRpcDescriptor Bu hizmet için aşağıdaki kodla VisualStudioServices.VS2019_5Services.SolutionService'ten alınabilir:
ServiceRpcDescriptor descriptor = Microsoft.VisualStudio.VisualStudioServices.VS2019_5.SolutionService;
Sürümle ilgili dikkat edilmesi gerekenler
Visual Studio uzantısı, uzantının hedeflediğini gereken en düşük Visual Studio sürümünü dikkate alarak sınıfından VisualStudioServices en son kullanılabilir VS yayın özelliğini kullanarak aracılı bir hizmet kullanmalıdır. Önceki çözüm hizmeti örneğine göre bu, Visual Studio 2019 Güncelleştirme 9 veya üstünü hedefleyen bir uzantının VisualStudioServices.VS2019_9 özelliğinden VisualStudioServices.VS2019_5Services.SolutionService tanımlayıcısını alması gerektiği anlamına gelir. Önceki örneği aşağıdaki kodla güncelleştirelim:
ServiceRpcDescriptor descriptor = Microsoft.VisualStudio.VisualStudioServices.VS2019_9.SolutionService;
üzerindeki en son sürüme sahip özellikten VisualStudioServices tanımlayıcının alınması, hizmet RPC'sinin mümkün olduğunca verimli olmasını ve hizmetin kendisinin en son davranışı sağlamasını sağlar. Uzantınızı Visual Studio'nun daha yeni bir sürümünü gerektirecek şekilde güncelleştirirken, sınıfın tüm kullanımını gözden geçirmeyi VisualStudioServices ve tanımlayıcılara yapılan başvuruları güncelleştirerek hedeflediğiniz Visual Studio sürümüyle eşleşecek en son sürüme sahip özellikleri kullanmayı göz önünde bulundurun.
üzerinde eski bir sürüme sahip özelliğinden VisualStudioServices kullanılarak ServiceRpcDescriptor alınan aracılı bir hizmet, garip davranış veya özellik sınırlamalarını yeniden üretme de dahil olmak üzere bu eski sürümde olduğu gibi davranışını öykünebilir.
Visual Studio'nun belirli bir sürümünü hedefleyen ve çalıştıran bir Visual Studio uzantısı, Canlı Paylaşım bağlantısı üzerinden etkinleştirilen aracılı bir hizmet isteyebilir. Böyle durumlarda, uzak Visual Studio işlemi yerel Visual Studio işleminden farklı bir sürüm çalıştırıyor olabilir. Live Share konağı istenen sürümün aracılı hizmetini sunmadığında, Live Share oturumu sırasında Bir Live Share konuğunda aracılı hizmet isteği başarısız olabilir.
Aracılı hizmetin kullanılabilir olmadığı zamanlar için bir geri dönüş planı eklemeyi göz önünde bulundurun. Bu geri dönüş planı, Live Share konağı Visual Studio'nun daha eski bir sürümü olduğunda başarılı olabileceğinden, aracılı hizmeti eski bir sürüme sahip özelliğinden VisualStudioServices yeniden istemeyi içerebilir. Bunu yaparken hizmet arabiriminin bazı üyelerinin hizmet uygulamasının kendisinde kullanılamayabileceğini unutmayın.
Aracılı bir hizmet , gönderimden sonra bile hizmet arabirimine üye ekleyebilir. Bu üyede gerekli en düşük hizmet sürümünden bahsedilip bahsedilmediğini görmek için arabirimin her üyesindeki IntelliSense belgelerine dikkat edin.
Uzak hizmetin gerçekten uygulamadığı bir üyeyi çağırma girişimi bir RemoteMethodNotFoundExceptionoluşturur.