Aracılığıyla paylaş


DLL’ler (C++/CX)

Visual Studio'yu kullanarak standart bir Win32 DLL veya Evrensel Windows Platformu (UWP) uygulamaları tarafından kullanılabilecek bir Windows Çalışma Zamanı bileşen DLL'si oluşturabilirsiniz. Visual Studio'nun veya Visual Studio 2012'den önceki bir Microsoft C++ derleyicisi sürümü kullanılarak oluşturulan standart DLL, UWP uygulamasında doğru yüklenmeyebilir ve Microsoft Store'daki uygulama doğrulama testini geçemeyebilir.

bileşen DLL'lerini Windows Çalışma Zamanı

Neredeyse tüm durumlarda, UWP uygulamasında kullanmak üzere bir DLL oluşturmak istediğinizde, bu adın proje şablonunu kullanarak bunu Windows Çalışma Zamanı bileşeni olarak oluşturun. Genel veya özel Windows Çalışma Zamanı türlerine sahip DLL'ler için Windows Çalışma Zamanı bileşen projesi oluşturabilirsiniz. Windows Çalışma Zamanı bileşenine Windows Çalışma Zamanı uyumlu herhangi bir dilde yazılmış uygulamalardan erişilebilir. Varsayılan olarak, Windows Çalışma Zamanı bileşen projesi için derleyici ayarları /ZW anahtarını kullanır. .winmd dosyası, kök ad alanının adıyla aynı ada sahip olmalıdır. Örneğin, A.B.C.MyClass adlı bir sınıfın örneği yalnızca A.winmd veya A.B.winmd ya da A.B.C.winmd adlı bir meta veri dosyasında tanımlandığında oluşturulabilir. DLL'nin adı .winmd dosya adıyla eşleşecek şekilde gerekli değildir.

Daha fazla bilgi için bkz. C++'da Windows Çalışma Zamanı Bileşenleri Oluşturma.

Projenizde üçüncü taraf Windows Çalışma Zamanı bileşen ikilisine başvurmak için

  1. DLL'yi kullanacak projenin kısayol menüsünü açın ve özellikler'i seçin. Ortak Özellikler sayfasında Yeni Başvuru Ekle düğmesini seçin.

  2. Windows Çalışma Zamanı bileşeni bir DLL dosyasından ve meta verileri içeren bir .winmd dosyasından oluşur. Bu dosyalar genellikle aynı klasörde bulunur. Başvuru Ekle iletişim kutusunun sol bölmesinde Gözat düğmesini seçin ve dll dosyasının konumuna ve .winmd dosyasına gidin. Daha fazla bilgi için bkz . Uzantı SDK'ları.

Standart DLL'ler

C++ kodu için genel Windows Çalışma Zamanı türleri tüketmeyen veya üretmeyen standart bir DLL oluşturabilir ve bunu bir UWP uygulamasından kullanabilirsiniz. Var olan bir DLL'yi Visual Studio'nun bu sürümünde derlenecek şekilde geçirmek ancak kodu bir Windows Çalışma Zamanı Bileşeni projesine dönüştürmek istemiyorsanız Dinamik Bağlantı Kitaplığı (DLL) proje türünü kullanın. Aşağıdaki adımları kullandığınızda DLL, .appx paketindeki uygulamanızın yürütülebilir dosyasıyla birlikte dağıtılır.

Visual Studio'da standart DLL oluşturmak için

  1. Menü çubuğunda Dosya, Yeni, Proje'yi ve ardından Dinamik Bağlantı Kitaplığı (DLL) şablonunu seçin.

  2. Proje için bir ad girin ve tamam düğmesini seçin.

  3. Kodu ekleyin. Dışarı aktarmayı planladığınız işlevler için kullandığınızdan __declspec(dllexport) emin olun; örneğin, __declspec(dllexport) Add(int I, in j);

  4. UWP uygulamaları için Windows SDK'sından bu üst bilgi dosyasını eklemek için ekleyin #include winapifamily.h ve makroyu WINAPI_FAMILY=WINAPI_PARTITION_APPayarlayın.

Aynı çözümden standart DLL projesine başvurmak için

  1. DLL'yi kullanacak projenin kısayol menüsünü açın ve özellikler'i seçin. Ortak Özellikler sayfasında Yeni Başvuru Ekle düğmesini seçin.

  2. Sol bölmede Çözüm'e tıklayın ve ardından sağ bölmede uygun onay kutusunu seçin.

  3. Kaynak kod dosyalarınıza, gerektiğinde DLL üst bilgi dosyası için bir #include deyim ekleyin.

Standart DLL ikili dosyasına başvurmak için

  1. DLL dosyasını, .lib dosyasını ve üst bilgi dosyasını kopyalayın ve bunları bilinen bir konuma (örneğin, geçerli proje klasörünüzde) yapıştırın.

  2. DLL'yi kullanacak projenin kısayol menüsünü açın ve özellikler'i seçin. Yapılandırma Özellikleri, Bağlayıcı, Giriş sayfasında .lib dosyasını bağımlılık olarak ekleyin.

  3. Kaynak kod dosyalarınıza, gerektiğinde DLL üst bilgi dosyası için bir #include deyim ekleyin.

UWP uygulama uyumluluğu için mevcut Win32 DLL'sini geçirmek için

  1. DLL (Evrensel Windows) türünde bir proje oluşturun ve var olan kaynak kodunuzu ekleyin.

  2. UWP uygulamaları için Windows SDK'sından bu üst bilgi dosyasını eklemek için ekleyin #include winapifamily.h ve makroyu WINAPI_FAMILY=WINAPI_PARTITION_APPayarlayın.

  3. Kaynak kod dosyalarınıza, gerektiğinde DLL üst bilgi dosyası için bir #include deyim ekleyin.