Aracılığıyla paylaş


Nasıl Yapılır: 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 bu başvuruları yönetmek için Başvuru Yöneticisi iletişim kutusunu kullanabilirsiniz.Bir Windows Mağazası uygulaması geliştiriyorsanız, projeniz tüm Windows 8 SDK ve .NET Framework çatısına otomatik olarak başvuruda bulunur.Başka türde bir proje geliştiriyorsanız, bu başvuruları projeye el ile eklemeniz gerekir.

Uyarı notuUyarı

Diğer tür projelere başvuruları, Başvuru Ekle iletişim kutusunu kullanarak ekleyebilirsiniz.Daha fazla bilgi için bkz. Nasıl Yapılır: Başvuru Ekle İletişim Kutusunu Kullanarak Başvurular Ekleme veya Kaldırma.

Başvuru Ekleme ve Kaldırma

Bir C# veya Visual Basic Projesinde Başvuru Eklemek için

  1. Menü çubuğunda Dosya, 'ı seçin.

  2. Çözümünüze veya projenize gidin.

  3. Çözüm Gezgini'nde proje düğümünün kısayol menüsünü açın ve sonra Başvuru Ekle'yi seçin.

  4. Eklenecek başvuruları belirtin ve ardından Tamam düğmesini seçin.

Bir başvuruyu kaldırmak için, kısayol menüsünü açın ve sonra Kaldır'ı seçin.

Bir C++ Projesinde Başvuru Eklemek için

  1. Menü çubuğunda Dosya, 'ı seçin.

  2. Çözümünüze veya projenize gidin.

  3. Çözüm Gezgini'nde proje düğümünün kısayol menüsünü açın ve sonra Başvurular'ı seçin.

  4. Özellik Sayfaları iletişim kutusunda Yeni Başvuru Ekle düğmesini seçin.

  5. Başvuru Ekle iletişim kutusunda eklenecek başvuruları belirtin ve sonra da Tamam düğmesini seçin.

Bir başvuruyu kaldırmak için, kısayol menüsünü açın ve sonra Kaldır'ı seçin.

Başvuru Yöneticisi açılır ve kullanılabilir başvuruları gruba göre listeler.Aşağıdaki grupların hangilerinin görüneceğini proje türü belirler:

  • Derlemeler; Çerçeve ve Uzantılar alt grupları ile.

  • Çözüm; Projeler alt grubu ile.

  • Windows; Çekirdek ve Uzantılar alt grupları ile.Windows SDK veya uzantı SDK'ları içindeki başvuruları Nesne Tarayıcısı'nı kullanarak keşfedebilirsiniz.

  • Gözat; En Son alt grubu ile.

Derlemeler sekmesi

Derlemeler sekmesi, başvuru için kullanılabilen tüm .NET Framework derlemelerini listeler.Genel derleme önbelleği (GAC) içindeki derlemeler çalışma zamanı ortamının bir parçası olduğundan, Derlemeler sekmesinde GAC'den hiçbir derleme listelenmez.GAC'de kayıtlı bir derlemeye başvuru içeren bir uygulamayı dağıtır ya da kopyalarsanız, derleme 'Yereli Kopyala' ayarına bakılmaksızın uygulama ile birlikte dağıtılmaz veya kopyalanmaz.Daha fazla bilgi için bkz. Proje Başvuruları.

EnvDTE ad alanlarının herhangi birine (EnvDTE, EnvDTE80, EnvDTE90, EnvDTE90a veya EnvDTE100) el ile bir başvuru eklediğinizde, Özellikler penceresinde başvurunun 'Birlikte Çalışma Türlerini Katıştır' özelliğini False olarak ayarlayın.Bu özelliğin True olarak ayarlanması, katıştırılamayan belirli EnvDTE özellikleri nedeniyle derleme sorunlarına yol açabilir.

Tüm masaüstü projeleri, mscorlib öğesine örtük bir başvuru içerir.Visual Basic projeleri Microsoft.VisualBasic öğesine örtük bir başvuru içerir.Visual Studio 2012 içinde, tüm projeler System.Core öğesine örtük bir başvuru içerir (başvurular listesinden kaldırılsa bile).

Bir proje türü Derlemeler'i desteklemiyorsa, ilgili sekme Başvuru Yöneticisi iletişim kutusunda görünmez.

Derlemeler sekmesi iki alt sekmeden oluşur:

  1. Çerçeve, hedef alınan Çerçeveyi oluşturan tüm derlemeleri listeler.

    • Projeniz hedeflenen Çerçevenin bir Profilini hedef aldığında, tanıtılan derlemeler Tam Çerçeve içindedir ve Çerçeve listesinde numaralandırılır.Tanıtılan derlemeler, projenin hedeflenen Çerçeve profilindeki mevcut derlemelerden ayırt edilmelerini sağlamak için gri renktedir.Örneğin, bir proje .NET Framework 4 İstemcisi'ni hedef alıyorsa, Çerçeve listesi .NET Framework 4 kaynaklı tanıtılan derlemeleri gösterir.Bir kullanıcı tanıtılan derleme eklediğinde, Başvuru Yöneticisi iletişim kutusu kapatıldıktan sonra kullanıcıya, projenin .NET Framework 4'e yeniden hedefleneceği ve tanıtılan derlemenin ekleneceği bilgisi verilir.

    • Windows Mağazası uygulamalarına yönelik projeler, proje oluşturulduğunda varsayılan olarak, hedeflenen Windows Mağazası uygulamaları için .NET içindeki derlemelerin tümüne başvurular içerir.Yönetilen projelerde, Çözüm Gezgini'nde Başvurular klasörünün altındaki bir salt okunur düğüm, Çerçeve'nin tümüne yönelik başvuruyu belirtir.Buna göre, Çerçeve sekmesi, Çerçeve kaynaklı derlemelerin hiçbirini numaralandırmaz ve bunun yerine şu iletiyi görüntüler: "Tüm Framework derlemelerine zaten başvurulmuş.Lütfen Framework'deki başvuruları araştırmak için Nesne Gezgini'ni kullanın.” Masaüstü projeleri için, Çerçeve sekmesi, hedef alınan Çerçeve kaynaklı derlemeleri numaralandırır ve kullanıcı uygulamanın gerek duyduğu başvuruları eklemelidir.

  2. Uzantılar, harici bileşen ve denetim 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 derlemelere gerek duyulabilir.

    • Uzantılar, aşağıdaki konumlarda kayıtlı derlemeleri numaralandırmak suretiyle doldurulur:

      32-bit machine:
      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 machine:
      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]
      And older versions of the [Target Framework Identifier]
      

      Örneğin, bir proje 32 bit makinede .NET Framework 4'ü hedef alıyorsa, Uzantılar \Microsoft\.NETFramework\v4.0\AssemblyFoldersEx\, \Microsoft\.NETFramework\v3.5\AssemblyFoldersEx\, \Microsoft\.NETFramework\v3.0\AssemblyFoldersEx\ ve \Microsoft\.NETFramework\v2.0\AssemblyFoldersEx\ altında kayıtlı derlemeleri numaralandıracaktır.

COM sekmesi

COM sekmesi, başvuru için kullanılabilen tüm COM bileşenlerini listeler.Dahili bildirim içeren kayıtlı bir COM DLL öğesine başvuru eklemek isterseniz, önce DLL kaydını silin.Aksi takdirde, Visual Studio, derleme başvurusunu yerel bir DLL olarak değil, bir ActiveX Denetimi olarak ekler.

Bir proje türü COM'u desteklemiyorsa, ilgili sekme Başvuru Yöneticisi iletişim kutusunda görünmez.

Çözüm sekmesi

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

Bir proje, farklı bir .NET Framework sürümünü hedef alan başka bir projeye başvuruda bulunabilir.Örneğin, hedefi .NET Framework 4 olan, ancak .NET Framework 2 için oluşturulmuş bir derlemeye başvuran bir proje oluşturabilirsiniz.Bununla birlikte, .NET Framework 2 projesi bir .NET Framework 4 projesine başvuruda bulunamaz.Daha fazla bilgi için bkz. Belirli Bir .NET Framework Sürümünü veya Profilini Hedefleme.

.NET Framework 4 hedefleyen bir proje, .NET Framework 4 İstemci Profili hedefleyen bir projeyle uyumsuzdur.

Visual Studio 2012 içinde, bir proje .NET Framework 4 hedefliyor ve başka bir proje de önceki bir sürümü hedefliyorsa, proje başvurusu yerine bir dosya başvurusu oluşturulur.

Windows Mağazası uygulamaları için .NET hedefleyen bir proje, .NET Framework hedefleyen bir projeye bir proje başvurusu ekleyemez ve bunun tersi de olamaz.

Windows sekmesi

Windows sekmesi, Windows işletim sisteminin çalıştığı platformlara özgü tüm SDK'ları listeler.

Visual Studio'da bir WinMD dosyasını iki şekilde oluşturabilirsiniz:

  • Windows Mağazası uygulaması yönetilen projeleri: Windows Mağazası uygulaması projeleri, Project Properties | Output Type = WinMD File ayarıyla WinMD ikili dosyalarını çıktı olarak verebilir.WinMD dosya adı, içinde varolan tüm alan adlarının üst küme alan adı olmalıdır.Örneğin, bir proje A.B ve A.B.C ad alanlarından oluşuyorsa, çıktısı verilen WinMD için olası adlar A.winmd ve A.B.winmd olur.Bir kullanıcı, projedeki ad alanları kümesinden kopuk bir Project Properties | Assembly Name veya Project Properties | Namespace değeri girerse veya bir proje içinde hiçbir üst küme ad alanı olmazsa, bir derleme uyarısı oluşturulur: 'A.winmd' bu derleme için geçerli bir .winmd dosyası adı değil.Bir Windows Meta Veri dosyası içindeki tüm türler, dosya adının bir alt ad alanında mevcut olmalıdır.Dosya adının alt ad alanında mevcut olmayan türler çalışma zamanında bulunamaz.Bu derlemede, en küçük ortak ad alanı 'CSWSClassLibrary1'dir.Bir masaüstü Visual Basic veya Visual C# projesi yalnızca, Windows 8 SDK'ları kullanılarak oluşturulmuş WinMD'leri (birinci WinMD'ler olarak bilinirler) kullanabilir ve WinMD oluşturamaz.

  • Windows Mağazası uygulaması yerel projeleri: Yerel bir WinMD dosyası yalnızca meta verilerden oluşur.Uygulaması ayrı bir DLL dosyası içinde var olur.Yerel ikili dosyalar, Yeni Proje iletişim kutusunda Windows Çalışma Zamanı Bileşeni proje şablonu seçilerek ya da boş bir projeden başlayıp, proje özelliklerini bir WinMD dosyası oluşturacak şekilde değiştirerek elde edilebilir.Proje kopuk ad alanlarından oluşuyorsa, bir yapı hatası kullanıcıya ad alanlarını birleştirmesi veya MSMerge aracını çalıştırması gerektiğini söyler.

Windows sekmesi iki alt gruptan oluşur.

Çekirdek Alt Grubu

Çekirdek alt grubu, hedeflenen Windows sürümü için SDK içindeki tüm WinMD'leri (Windows Çalışma Zaman öğeleri için) listeler.

Windows Mağazası uygulaması projeleri, proje oluşturulduğunda varsayılan olarak, Windows 8 SDK içindeki WinMD'lerin tümüne başvurular içerir.Yönetilen projelerde, Çözüm Gezgini'nde Başvurular klasörünün altındaki bir salt okunur düğüm, Windows 8'nin tamamına yönelik başvuruyu belirtir.Buna göre, Başvuru Yöneticisi'nde Çekirdek alt grubu Windows 8 SDK kaynaklı derlemelerin hiçbirini numaralandırmaz ve bunun yerine şu iletiyi görüntüler: "Windows SDK'ya zaten başvurulmuş.Lütfen Windows SDK'sındaki başvuruları araştırmak için Nesne Gezgini'ni kullanın.”

Masaüstü projelerinde, varsayılan olarak çekirdek alt grubu görünmez.Windows Çalışma Zamanı'nı; proje düğümü için kısayol menüsünü açıp, Projeyi Yüklemeyi Kaldır'ı seçip, izleyen kod parçacığını ekleyerek ve sonra da projeyi yeniden açarak (proje düğümünde Projeyi Tekrar Yükle'yi seçin) ekleyebilirsiniz.Başvuru Yöneticisi iletişim kutusunu çağırdığınızda Çekirdek alt grubu görünür.

  <PropertyGroup>
    <TargetPlatformVersion>8.0</TargetPlatformVersion>
  </PropertyGroup>

Bu alt grupta Windows onay kutusunu seçtiğinizden emin olun.Bundan sonra Windows Çalışma Zamanı öğelerini kullanabilmeniz gerekir.Bununla birlikte, Windows Çalışma Zamanı'nın IEnumerable gibi bazı standart sınıfları ve arabirimleri (Windows Çalışma Zamanı kitaplıklarının her yerinde kullanılan) tanımladığı System.Runtime öğesini de eklemek isteyeceksiniz.System.Runtime öğesini ekleme hakkında bilgi için bkz. Yönetilen masaüstü uygulamaları ve Windows Çalışma Zamanı.

Uzantılar Alt Grubu

Uzantılar, hedeflenen Windows platformunu genişleten kullanıcı SDK'larını listeler.Bu sekme yalnızca Windows Mağazası uygulaması projeleri için görünür.Masaüstü projeleri yalnızca birinci taraf .winmd dosyalarını kullanabildiğinden, bu sekmeyi göstermezler.

SDK, Visual Studio'nun tek bir bileşen olarak kabul ettiği dosyalar topluluğudur.Uzantılar sekmesinde, Başvuru Yöneticisi iletişim kutusunun çağrıldığı proje için geçerli olan SDK'lar tek varlıklar halinde listelenir.Bir projeye eklendiğinde, SDK içeriğinin tümü Visual Studio tarafından kullanılır; öyle ki kullanıcının IntelliSense, araç kutusu, tasarımcılar, Nesne Tarayıcısı, yapı, dağıtım, hata ayıklama ve paketleme içinde SDK içeriğinden faydalanmak için başka hiçbir işlem yapmasına gerek kalmaz.Uzantılar sekmesinde SDK'nızı nasıl görüntüleyeceğiniz hakkında bilgi için bkz. Nasıl yapılır: bir yazılım geliştirme seti oluşturmak.

[!NOT]

Proje başka bir SDK'ya bağımlı olan bir SDK'ya başvuruda bulunursa, kullanıcı ikinci SDK için el ile bir başvuru eklemediği sürece Visual Studio ikinci SDK'yı kullanmaz.Kullanıcı Uzantılar sekmesinde bir SDK seçtiğinde, Başvuru Yöneticisi iletişim kutusu SDK'nın ad ve sürüm bilgisinin yanı sıra varsa, SDK bağımlılıklarının adını da ayrıntılar bölmesinde listeleyerek kullanıcının SDK bağımlılıklarını tanımlamasına yardımcı olur.Kullanıcı bağımlılıkları fark etmez ve yalnızca SDK'yı eklerse, MSBuild kullanıcıdan bağımlılıkları eklemesini ister.

Bir proje türü Uzantılar'ı desteklemiyorsa, ilgili sekme Başvuru Yöneticisi iletişim kutusunda görünmez.

Gözat düğmesi

Gözat düğmesini, dosya sisteminde bir bileşene göz atmak için kullanabilirsiniz.

Bir proje, farklı bir .NET Framework sürümünü hedef alan başka bir bileşene başvuruda bulunabilir.Örneğin, .NET Framework 2'yi hedefleyen bir bileşene başvuruda bulunan .NET Framework 4 İstemci Profili'ni hedef alan bir uygulama oluşturabilirsiniz.Daha fazla bilgi için bkz. Belirli Bir .NET Framework Sürümünü veya Profilini Hedefleme.

Aynı çözümdeki başka bir projenin çıktılarına dosya başvuruları eklemekten kaçınmalısınız; bu taktik derleme hatalarına neden olabilir.Bunun yerine, projeden projeye başvuru oluşturmak için Başvuru Yöneticisi iletişim kutusunun Çözüm sekmesini kullanın.Bu taktik, projelerinizde oluşturduğunuz sınıf kitaplıklarının daha iyi yönetimine olanak tanıyarak takım geliştirmeyi kolaylaştırır.Daha fazla bilgi için bkz. Bozuk Başvurularda Sorun Giderme.

Bir SDK'ye göz atamaz ve projenize ekleyemezsiniz.Yalnızca bir dosyaya (örneğin, bir derleme veya .winmd) göz atabilir ve bu dosyayı projenize ekleyebilirsiniz.

Bir WinMD'ye dosya başvurusu yaparken, beklenen düzen FileName.winmd, FileName.dll ve FileName.pri dosyalarının tümünün birbirinin yanı sıra yerleştirilmesidir.Aşağıdaki senaryolarda bir WinMD'ye başvuruda bulunursanız, proje çıkış dizinine eksik bir dosya kümesi kopyalanır ve sonuç olarak, derleme ve çalışma zamanı hataları meydana gelir.

  • Yerel bileşen: Yerel bir proje, her bir kopuk ad alanları kümesi için tek bir WinMD ve uygulamayı içeren tek bir DLL oluşturur.WinMD'ler ayrı adlara sahip olur.MSBuild bu yerel bileşen dosyasına başvururken, benzemeyecek şekilde adlandırılmış WinMD'lerin tek bir bileşen oluşturduğunu algılamaz.Sonuç olarak, yalnızca aynı adlı FileName.dll ve FileName.winmd kopyalanır ve çalışma zamanı hataları oluşur.Bu sorunu geçici bir çözümle aşmak için bir Uzantı SDK oluşturun.Daha fazla bilgi için bkz. Nasıl yapılır: bir yazılım geliştirme seti oluşturmak.

  • Denetimleri kullanma: Bir XAML denetimi en azından bir FileName.winmd, FileName.dll, FileName.pri, XamlName.xaml ve bir ImageName.jpg öğesinden oluşur.Proje oluşturulurken, dosya başvurusu ile ilişkili kaynak dosyalar projenin çıkış dizinine kopyalanmaz ve yalnızca FileName.winmd, FileName.dll ve FileName.pri kopyalanır.XamlName.xaml ve ImageName.jpg kaynaklarının eksik olduğunu kullanıcıya bildirmek için bir yapı hatası kaydı tutulur.Başarılı olması için, kullanıcının bu kaynak dosyaları oluşturma ve hata ayıklama/çalışma zamanı için proje çıkış dizinine el ile kopyalaması gerekir.Bu soruna geçici bir çözüm için, Nasıl yapılır: bir yazılım geliştirme seti oluşturmak altındaki adımları izleyerek bir Uzantı SDK oluşturun ya da proje dosyasını düzenleyerek aşağıdaki özelliği ekleyin:

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

    [!NOT]

    Özelliği eklerseniz, yapı daha yavaş çalışabilir.

En Son

Derlemeler, COM, Windows ve Gözat'ın her biri, bir En Son sekmesini destekler ve bu sekme projelere yakın zamanda eklenmiş bileşenlerin listesini numaralandırır.

Ara

Başvuru Yöneticisi iletişim kutusundaki arama çubuğu, odakta olan sekme üzerinde çalışır.Örneğin, Çözüm sekmesi odaktayken bir kullanıcı arama çubuğuna "Sistem" yazarsa, çözüm "Sistem" sözcüğünü içeren bir proje adından oluşmadığı sürece hiçbir arama sonucu getirilmez.

Ayrıca bkz.

Görevler

Nasıl Yapılır: Başvuru Ekle İletişim Kutusunu Kullanarak Başvurular Ekleme veya Kaldırma

Kavramlar

Proje Başvurularını Yönetme