Aracılığıyla paylaş


Başvuru Yöneticisi'ni kullanarak başvuru ekleme veya kaldırma

Sizin, Microsoft'un veya başka bir şirketin geliştirdiği bileşenlere başvuru eklemek ve bunları yönetmek için Başvuru Yöneticisi iletişim kutusunu kullanabilirsiniz. Evrensel Windows uygulaması geliştiriyorsanız projeniz otomatik olarak tüm doğru Windows SDK DLL'lerine başvurur. Bir .NET projesi oluşturduğunuzda, projeniz .NET SDK gibi ihtiyaç duyduğu bileşenlere otomatik olarak başvurur, ancak işlev eklerken başvuru eklemeniz gerekir. Bazı .NET API'leri, el ile eklemeniz gereken bileşenlerde kullanıma sunulur. COM bileşenlerine veya özel bileşenlere başvurular el ile eklenmelidir.

Başvuruda bulunmakta olduğunuz kitaplık için bir NuGet paketi varsa NuGet Paket Yöneticisi'ni kullanın. Bkz. NuGet paketi yükleme ve kullanma.

Başvuru Yöneticisi iletişim kutusu

Başvuru Yöneticisi iletişim kutusu, proje türüne bağlı olarak sol tarafta farklı kategoriler gösterir:

  • Derlemeleri, Framework ve Uzantıları alt gruplarıyla (yalnızca .NET Framework)

  • COM, başvuru için kullanılabilen tüm COM bileşenlerini listeler

  • Projeleri

  • Paylaşılan Projeler

  • Core ve Uzantıları alt gruplarıyla Windows. Nesne Tarayıcısıkullanarak Windows SDK'larındaki veya uzantı SDK'larındaki başvuruları keşfedebilirsiniz.

  • gözat, en son alt grubuyla

    Not

    C++ projeleri geliştiriyorsanız Başvuru Yöneticisi iletişim kutusunda Gözat seçeneğini göremeyebilirsiniz.

Referans ekle

  1. Çözüm Gezgini'nde, Başvurular veya Bağımlılıklar düğümüne sağ tıklayın ve ardından bağlam menüsünden Proje Başvurusu Ekle, Paylaşılan Proje Başvurusu Ekleveya COM Başvurusu Ekle seçeneklerinden birini seçin. (Bu seçenekler arasından seçim yapmak için proje düğümüne sağ tıklayıp açılır menüden ekle'yi de seçebilirsiniz.)

Çözüm Gezgini'ndeki bağlam menüsünden Başvuru Ekle iletişim kutusunu gösteren ekran görüntüsü.

Çözüm Gezgini'ndeki bağlam menüsünden Başvuru Ekle iletişim kutusunun ekran görüntüsü.

Başvuru Yöneticisi açılır ve kullanılabilir başvuruları gruba göre listeler.

Visual Studio'da Başvuru Yöneticisi iletişim kutusunun ekran görüntüsü.

  1. Eklemek üzere bir referans seçin ve ardından Tamam'atıklayın.

    Not

    Aradığınız referansı görmüyorsanız, referansı bulmak için Gözat seçin. (C++ projeleri geliştiriyorsanız göz atma seçeneğini göremeyebilirsiniz.)

Derlemeler sekmesi (yalnızca.NET Framework)

Not

.NET Core veya .NET 5 ve üzerini hedefleyen projeler için Derlemeler sekmesi kullanılamaz. Dosya sisteminde bir derleme bulmak ve bunu başvuru olarak eklemek için Gözat'ı seçin. Bir projede başvurulan derlemeleri görmek için projedeki Bağımlılıklar düğümünü genişletin. Bağımlılıklar düğümünde sağ tıklayarak proje başvuruları ekleyebilir veya kaldırabilir, Derlemeler düğümünde derlemeleri görüntüleyebilir veya kaldırabilir ya da NuGet paketlerini yönetmek için NuGet paket tarayıcısını açabilirsiniz. NuGet belgelerindeki NuGet Paket Yöneticisi'ni kullanarak Visual Studio'da paketleri yükleme ve yönetme bölümüne bakın.

.NET Framework projeleri için Derlemeler sekmesi, başvuru için kullanılabilen tüm .NET derlemelerini listeler. Derlemeler sekmesi genel derleme önbelleğinden (GAC) hiçbir derlemeyi listelemez çünkü GAC'deki derlemeler çalışma zamanı ortamının bir parçasıdır. GAC'de kayıtlı bir derlemeye başvuru içeren bir uygulamayı dağıtır veya kopyalarsanız, Yerel Kopyala ayarından bağımsız olarak derleme uygulamayla birlikte dağıtılmaz veya kopyalanır. Daha fazla bilgi için bkz. bir projedeki başvuruları yönetme.

EnvDTE ad alanlarından herhangi birine (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90aveya EnvDTE100) el ile başvuru eklediğinizde, Özellikler penceresinde başvurunun Gömülü Birlikte Çalışma Türleri özelliğini Yanlış olarak ayarlayın. Bu özelliği True olarak ayarlamak, gömülemeyen bazı EnvDTE özellikleri nedeniyle derleme sorunlarına neden olabilir.

Tüm masaüstü projeleri, mscorlibiçin gizli bir referans içerir. Visual Basic projeleri, Microsoft.VisualBasiciçin örtük bir başvuru içerir. Tüm projeler, başvuru listesinden kaldırılsa bile System.Coreiçin örtük bir başvuru içerir.

Montajlar sekmesi iki alt sekmeden oluşur:

  1. Framework, hedeflenen çerçeveyi oluşturan tüm derlemeleri listeler.

    .NET Core veya Evrensel Windows Platformu'na yönelik olmayan projeler için Framework sekmesi, hedeflenen çerçeveden derlemeleri numaralandırır. Kullanıcı, uygulamanın gerekli gördüğü tüm referansları eklemelidir.

    Evrensel Windows projeleri varsayılan olarak hedeflenen çerçevedeki tüm derlemelere başvurular içerir. Yönetilen projelerde, Çözüm Gezgini içindeki Başvurular klasörünün altında bulunan salt okunur düğüm noktası, çerçevenin tamamına başvuruyu gösterir. Buna göre, Framework sekmesi, çerçevedeki derlemelerin hiçbirini listelemez ve bunun yerine şu iletiyi görüntüler: "Tüm Framework derlemelerine zaten başvurulmuş. Çerçevedeki başvuruları keşfetmek için lütfen Nesne Tarayıcısı'nı kullanın."

  2. Uzantıları, bileşen ve denetim dış satıcılarının hedeflenen çerçeveyi genişletmek için geliştirdiği tüm derlemeleri listeler. Kullanıcı uygulamasının amacına bağlı olarak, bu derlemeler gerekebilir.

    Uzantıları, aşağıdaki konumlarda kayıtlı derlemeler numaralandırılarak doldurulur:

    32 bit makine:

    • HKEY_CURRENT_USER\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
    • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]

    64 bit makine:

    • HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\[Target Framework Identifier]\v[Target Framework Version]\AssemblyFoldersEx\[UserComponentName]\@default=[Disk location of assemblies]

    Ve [Target Framework Identifier] öğesinin eski sürümleri

    Örneğin, bir proje 32 bit bir makinede .NET Framework 4'i hedeflerse, Uzantıları \Microsoft.NETFramework\v4.0\AssemblyFoldersEx altında kayıtlı derlemeleri numaralandırır \Microsoft.NETFramework\v3.5\AssemblyFoldersEx, \Microsoft.NETFramework\v3.0\AssemblyFoldersExve \Microsoft.NETFramework\v2.0\AssemblyFoldersEx.

Projenizin çerçeve sürümüne bağlı olarak listedeki bazı bileşenler gösterilmeyebilir. Bu durum aşağıdaki koşullar altında oluşabilir:

  • Son bir çerçeve sürümü kullanan bir bileşen, önceki bir sürümü hedefleyen bir projeyle uyumsuzdur.

    Bir projenin hedef çerçeve sürümünü değiştirme hakkında bilgi için bkz. Framework hedeflemeye genel bakış.

  • .NET Framework'ün eski bir sürümünü kullanan bir bileşen, daha yeni bir .NET Framework'i hedefleyen projeyle uyumsuzdur.

.NET Framework sürümleri arasındaki sürüm uyumluluğu hakkında daha fazla bilgi için bkz. Sürüm uyumluluğu.

Aynı çözümdeki başka bir projenin çıkışlarına dosya başvuruları eklemekten kaçınmanız gerekir, çünkü bunu yapmak derleme hatalarına neden olabilir. Bunun yerine, projeden projeye başvurular oluşturmak için Başvuru Ekle iletişim kutusunun Projeler sekmesini kullanın. Bu uygulama, projelerinizde oluşturduğunuz sınıf kitaplıklarının daha iyi yönetilmesini sağlayarak ekip geliştirmeyi kolaylaştırır. Daha fazla bilgi için bkz. Başvuru hatalarını giderme.

Not

Bir projenin hedef çerçeve sürümü .NET Framework 4.5 veya üzeriyse ve diğer projenin hedef sürümü .NET Framework 2, 3, 3.5 veya 4.0 ise proje başvurusu yerine dosya başvurusu oluşturulur. .NET, .NET Framework ve .NET Core hakkında daha fazla bilgi için bkz. .NET (ve .NET Core) nedir .

Başvuru Ekle iletişim kutusunda bir derlemeyi görüntülemek için

  • Derlemeyi aşağıdaki konumlardan birine taşıyın veya kopyalayın:

    • Geçerli proje dizini. (Gözat sekmesini kullanarak bu derlemeleri bulabilirsiniz.)

    • Aynı çözümdeki diğer proje dizinleri. (Bu derlemeleri, Projeler sekmesini kullanarak bulabilirsiniz.)

    -veya-

  • Görüntülenecek derlemelerin konumunu belirten bir kayıt defteri anahtarı ayarlayın:

    32 bit işletim sistemi için aşağıdaki kayıt defteri anahtarlarından birini ekleyin.

    • [HKEY_CURRENT_USER\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    64 bit işletim sistemi için, 32 bit kayıt defteri kovanına aşağıdaki kayıt defteri anahtarlarından birini ekleyin.

    • [HKEY_CURRENT_USER\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\<VersionMinimum>\AssemblyFoldersEx\MyAssemblies]@="<AssemblyLocation>"

    <VersionMinimum>, geçerli olan en düşük çerçeve sürümüdür. <VersionMinimum> v3.0 ise, AssemblyFoldersEx belirtilen klasörler .NET Framework 3.0 ve sonraki sürümleri hedefleyen projelere uygulanır.

    <AssemblyLocation>, Başvuru Ekle iletişim kutusunda görünmesini istediğiniz derlemelerin dizinidir; örneğin, C:\MyAssemblies .

    kayıt defteri anahtarının HKEY_LOCAL_MACHINE düğümü altında oluşturulması, tüm kullanıcıların Başvuru Ekle iletişim kutusunda belirtilen konumdaki derlemeleri görmesine olanak tanır. HKEY_CURRENT_USER düğümü altında kayıt defteri anahtarının oluşturulması yalnızca geçerli kullanıcının ayarını etkiler.

    Başvuru Ekle iletişim kutusunu yeniden açın. Derlemeler .NET sekmesinde görünmelidir. Aksi takdirde derlemelerin belirtilen AssemblyLocation dizininde bulunduğundan emin olun, Visual Studio'yu yeniden başlatın ve yeniden deneyin.

Projeler sekmesi

Projeler sekmesi, Çözüm alt sekmesinde geçerli çözümdeki tüm uyumlu projeleri listeler.

Bir proje, farklı bir çerçeve sürümünü hedefleyen başka bir projeye başvurabilir. Örneğin, .NET 8.0'ı hedefleyen ancak .NET 6.0 için oluşturulmuş bir derlemeye başvuran bir proje oluşturabilirsiniz. Ancak. .NET 6.0 projesi bir .NET Framework 8.0 projesine başvuramaz. Daha fazla bilgi için bkz. Framework hedeflemeye genel bakış.

Paylaşılan Projeler sekmesi

Başvuru Yöneticisi iletişim kutusunun Paylaşılan Projeler sekmesinde paylaşılan projeye başvuru ekleyin. Paylaşılan Projeler, birçok farklı uygulama projesi tarafından başvurulan ortak kod yazmanızı sağlar.

Evrensel Windows sekmesi

Evrensel Windows sekmesi, Windows işletim sistemlerinin çalıştığı platformlara özgü tüm SDK'ları listeler. Bu sekmenin iki alt grubu vardır: Core ve Extensions.

Çekirdek alt grubu

Evrensel Windows uygulama projelerinin varsayılan olarak Evrensel Windows SDK'sına bir başvurusu vardır. Buna göre, Başvuru Yöneticisi içindeki Core altgrubu, Evrensel Windows SDK'sından derlemelerin hiçbirini sıralamaz.

Uzantılar alt grubu

Uzantıları, hedeflenen Windows platformunu genişleten kullanıcı SDK'larını listeler.

SDK, Visual Studio'nun tek bir bileşen olarak değerlendirdiği bir dosya koleksiyonudur. Uzantıları sekmesinde, Başvuru Yöneticisi iletişim kutusunun çağrıldığı projeye uygulanan SDK'lar tek girdiler olarak listelenir. Bir projeye eklendiğinde, tüm SDK içeriği Visual Studio tarafından kullanılır; böylece kullanıcının IntelliSense, araç kutusu, tasarımcılar, Nesne Tarayıcısı, derleme, dağıtım, hata ayıklama ve paketlemedeki SDK içeriklerinden yararlanmak için başka bir işlem gerçekleştirmesi gerekmez.

SDK'nızı Uzantıları sekmesinde görüntüleme hakkında bilgi için bkz. Yazılım Geliştirme Seti oluşturma.

Not

Bir proje başka bir SDK'ya bağımlı bir SDK'ya başvuruda bulunursa, ikinci SDK'ya el ile başvuru eklemediğiniz sürece Visual Studio ikinci SDK'yı kullanmaz. Uzantıları sekmesinde bir SDK seçtiğinizde, Başvuru Yöneticisi iletişim kutusu ayrıntılar bölmesindeki bağımlılıkları listeleyerek SDK bağımlılıklarını belirlemenize yardımcı olur.

Proje türü uzantıları desteklemiyorsa, bu sekme Başvuru Yöneticisi iletişim kutusunda görünmez.

COM sekmesi

COM sekmesi, başvuru için kullanılabilen tüm COM bileşenlerini listeler. İç bildirim içeren kayıtlı bir COM DLL'sine başvuru eklemek istiyorsanız, önce DLL'nin kaydını kaldırın. Aksi takdirde, Visual Studio derleme başvurusunu yerel DLL yerine bir ActiveX denetimi olarak ekler.

Proje türü COM'yi desteklemiyorsa, sekme Başvuru Yöneticisi iletişim kutusunda görünmez.

Göz atmak

Dosya sistemindeki bir bileşene veya derlemeye göz atmak için Gözat düğmesini kullanabilirsiniz.

Proje, farklı bir çerçeve sürümünü hedefleyen bir bileşene başvurabilir. Örneğin, .NET Framework 4.7.2'yi hedefleyen ancak .NET Framework 4'e başvuran bir uygulama oluşturabilirsiniz. Daha fazla bilgi için bkz. Framework hedeflemeye genel bakış.

Bu taktik derleme hatalarına neden olabileceğinden, aynı çözümdeki başka bir projenin çıktılarına dosya başvuruları eklemekten kaçının. Bunun yerine, projeden projeye başvurular oluşturmak için Başvuru Yöneticisi iletişim kutusunun Çözüm sekmesini kullanın. Bu, projelerinizde oluşturduğunuz sınıf kitaplıklarının daha iyi yönetilmesini sağlayarak ekip geliştirmeyi kolaylaştırır. Daha fazla bilgi için bkz. Başvuru hatalarını giderme.

BIR SDK'ya göz atıp projenize ekleyemezsiniz. Yalnızca bir dosyaya göz atabilir (örneğin, bir derleme veya .winmd) ve bunu projenize ekleyebilirsiniz.

WinMD'ye dosya başvurusu yaparken, beklenen düzen <FileName>.winmd, <FileName>.dllve <FileName>.pri dosyalarının birlikte yerleştirilmesidir. Aşağıdaki senaryolarda bir WinMD'ye başvurursanız, tamamlanmamış bir dosya kümesi proje çıktı dizinine kopyalanır ve sonuç olarak derleme ve çalışma zamanı hataları oluşur.

  • Yerel bileşen: Yerel proje, her ayrık ad alanı kümesi için bir WinMD ve uygulamadan oluşan bir DLL oluşturur. WinMD'lerin farklı adları vardır. Bu yerel bileşen dosyasına başvururken, MSBuild benzer olmayan adlı WinMD'lerin tek bir bileşen haline geldiğini tanımaz. Bu nedenle, yalnızca aynı adlı <FileName>.dll ve <FileName>.winmd kopyalanır ve çalışma zamanı hataları oluşur. Bu sorunu geçici olarak çözmek için bir uzantı SDK'sı oluşturun. Daha fazla bilgi için bkz. Yazılım Geliştirme Seti oluşturma.

  • Kullanma denetimleri: en azından, bir XAML denetimi <FileName>.winmd, <FileName>.dll, <FileName>.pri, <XamlName>.xamlve <ImageName>.jpgoluşur. Proje oluşturulduğunda, dosya başvurusuyla ilişkili kaynak dosyaları projenin çıkış dizinine kopyalanmaz ve yalnızca <FileName>.winmd, <FileName>.dll ve <FileName>.pri kopyalanır. XamlName<.xaml >kaynakların eksik olduğunu gösteren bir derleme hatası günlüğe kaydedilir. Başarılı olmak için bu kaynak dosyalarını derleme ve hata ayıklama/çalışma zamanı için proje çıktı dizinine el ile kopyalayın. Bu sorunu geçici olarak çözmek için, Yazılım Geliştirme Seti Oluşturma adımlarını izleyerek bir uzantı SDK'sı oluşturun veya proje dosyasını düzenleyerek aşağıdaki özelliği ekleyin:

    <PropertyGroup>
       <GenerateLibraryOutput>True</GenerateLibraryOutput>
    </PropertyGroup>
    

    Not

    Bu özelliği eklerseniz, derleme daha yavaş çalışabilir.

Yeni

Assemblies, COM, Windowsve Gözat her biri, projelere son eklenen bileşenlerin listesini listeleyen Son sekmesini destekler.

Başvuru Yöneticisi iletişim kutusundaki arama çubuğu, odaktaki sekme üzerinde çalışır. Örneğin, Çözüm sekmesi odaktayken arama çubuğuna "Sistem" yazarsanız, çözüm "Sistem" içeren bir proje adından oluşmadığı sürece arama hiçbir sonuç döndürmez.

Referansı kaldır

Visual Studio'da SDK stili projeleri için kullanılmayan başvuruları, Kullanılmayan Başvuruyu Kaldır menü öğesini kullanarak kaldırabilirsiniz.

Çözüm Gezgini'ndeki bağlam menüsünden Kullanılmayan Başvuruyu Kaldır iletişim kutusunu gösteren ekran görüntüsü.

Çözüm Gezgini'ndeki bağlam menüsünden Kullanılmayan Başvuruyu Kaldır iletişim kutusunun ekran görüntüsü.

Daha fazla bilgi için bkz. Kullanılmayan başvuruların kaldırılması.