.NET’te bütünleştirilmiş kodlar
Derlemeler, için temel dağıtım, sürüm denetimi, yeniden kullanım, etkinleştirme kapsamı ve güvenlik izinleri birimlerini oluşturur. NET tabanlı uygulamalar. Bir derleme, birlikte çalışacak ve mantıksal bir işlevsellik birimi oluşturacak biçimde oluşturulan bir tür ve kaynakların bir derlemesidir. Derlemeler çalıştırılabilir (.exe) veya dinamik bağlantı kitaplığı (.dll) dosyası biçimini alır ve .NET uygulamalarının yapı taşlarıdır. Ortak dil çalışma zamanını, tür uygulamalarının farkında olması için gereken bilgileri sağlar.
.net ve .NET Framework ' de bir veya daha fazla kaynak kodu dosyasından bir derleme oluşturabilirsiniz. .NET Framework, derlemeler bir veya daha fazla modül içerebilir. Bu, birçok geliştiricinin tek bir derleme oluşturmak için birleştirilen ayrı kaynak kod dosyaları veya modüller üzerinde çalışabilmesi için daha büyük projelerin planlanmasını sağlar. Modüller hakkında daha fazla bilgi için bkz. nasıl yapılır: çok dosyalı derleme oluşturma.
Derlemeler aşağıdaki özelliklere sahiptir:
Derlemeler .exe veya .dll dosyaları olarak uygulanır.
.NET Framework hedef kitaplıklar için, derlemeleri genel derleme önbelleği 'ne (GAC)koyarak uygulamalar arasında paylaşabilirsiniz. GAC 'ye dahil etmeden önce derlemeleri tanımlayıcı olarak adlandırın. Daha fazla bilgi için bkz. Strong-adlandırılmış derlemeler.
Derlemeler yalnızca gerekli olmaları durumunda belleğe yüklenir. Kullanılmıyorsa, bunlar yüklenmez. Bu, derlemelerin daha büyük projelerde kaynakları yönetmenin etkili bir yolu olabileceği anlamına gelir.
Yansıma kullanarak, bir derleme hakkında program aracılığıyla bilgi edinebilirsiniz. Daha fazla bilgi için bkz. yansıma (C#) veya yansıma (Visual Basic).
.NET ve .NET Framework sınıfını kullanarak bir derlemeyi yalnızca incelemek üzere yükleyebilirsiniz MetadataLoadContext . MetadataLoadContext yöntemlerinin yerini alır Assembly.ReflectionOnlyLoad .
Ortak dil çalışma zamanındaki derlemeler
Derlemeler, tür uygulamalarının farkında olması için gereken bilgilerle ortak dil çalışma zamanı sağlar. Çalışma zamanı için, bir derleme bağlamı dışında bir tür yoktur.
Bir derleme aşağıdaki bilgileri tanımlar:
Ortak dil çalışma zamanının yürütüldüğünü belirten kod. Her derlemenin yalnızca bir giriş noktası olabileceğini unutmayın:
DllMain,WinMain, veyaMain.Güvenlik sınırı. Bir derleme, izinlerin istendiği ve verildiği birimdir. Derlemelerdeki güvenlik sınırları hakkında daha fazla bilgi için bkz. bütünleştirilmiş kod güvenliği konuları.
Tür sınırı. Her tipin kimliği, içinde bulunduğu derlemenin adını içerir. Bir derlemenin kapsamına yüklenen ve
MyTypeolarak adlandırılan bir tür, başka bir derlemenin kapsamına yüklenen veMyTypeolarak adlandırılan türle aynı değildir.Başvuru kapsamı sınırı. Bütünleştirilmiş kod bildiriminde , türleri çözümlemek ve kaynak isteklerini karşılayan meta veriler vardır. Bildirim, derleme dışında kullanıma sunulacak türleri ve kaynakları belirtir ve üzerinde bağımlı olduğu diğer derlemeleri numaralandırır. Bir Taşınabilir çalıştırılabilir (PE) dosyada Microsoft ara dili (MSIL) kodu, ilişkili bir derleme bildiriminesahip olmadığı takdirde yürütülmez.
Sürüm sınırı. Derleme, ortak dil çalışma zamanındaki en düşük sürümlenebilir birimdir. Aynı derlemedeki tüm türler ve kaynaklar birim olarak sürümlüdür. Derleme bildirimi , herhangi bir bağımlı derleme için belirttiğiniz sürüm bağımlılıklarını açıklar. Sürüm oluşturma hakkında daha fazla bilgi için bkz. derleme sürümü oluşturma.
Dağıtım birimi. Bir uygulama başlatıldığında, sadece uygulamanın başlangıçta çağırdığı derlemeler mevcut olmalıdır. Yerelleştirme kaynaklarını veya yardımcı sınıfları içeren derlemeler gibi diğer derlemeler isteğe bağlı olarak alınabilir. Bu, uygulamaların ilk İndirilme sırasında basit ve ince olmasını sağlar. Derlemeleri dağıtma hakkında daha fazla bilgi için bkz. uygulamaları dağıtma.
Yan yana yürütme birimi. Bir derlemenin birden çok sürümünü çalıştırma hakkında daha fazla bilgi için bkz. derlemeler ve yan yana yürütme.
Derleme oluştur
Derlemeler statik veya dinamik olabilir. Statik derlemeler, disk üzerinde taşınabilir yürütülebilir (PE) dosyalarda saklanır. Statik derlemeler, arabirimler, sınıflar ve bit eşlemler, JPEG dosyaları ve diğer kaynak dosyaları gibi kaynakları içerebilir. Ayrıca, doğrudan bellekten çalıştırılan ve yürütmeden önce diske kaydedilmemiş dinamik derlemeler de oluşturabilirsiniz. Yürütüldükten sonra dinamik derlemeleri diske kaydedebilirsiniz.
Derleme oluşturmak için birçok yol vardır. .dll veya .exe dosyaları oluşturabileceğiniz Visual Studio gibi geliştirme araçlarını kullanabilirsiniz. diğer geliştirme ortamlarındaki modüllerle derlemeler oluşturmak için Windows SDK araçlarını kullanabilirsiniz. Dinamik derlemeler oluşturmak için gibi ortak dil çalışma zamanı API 'Lerini de kullanabilirsiniz System.Reflection.Emit .
derlemeleri Visual Studio oluşturarak, .net Core komut satırı arabirimi araçlarıyla derleyerek veya komut satırı derleyicisi ile .NET Framework derlemeleri oluşturarak derleyin. .NET CLı kullanarak derlemeler oluşturma hakkında daha fazla bilgi için bkz. .net CLI 'ya genel bakış.
Not
Visual Studio bir derleme oluşturmak için, yapı menüsünde, oluştur' u seçin.
Derleme bildirimi
Her derlemenin bir bütünleştirilmiş kod bildirim dosyası vardır. İçindekiler tablosuna benzer şekilde, derleme bildirimi şunları içerir:
Derlemenin kimliği (adı ve sürümü).
.exe veya .dll dosyanızın dayandığı, sizin oluşturduğunuz diğer derlemeler, bit eşlem dosyaları veya Benioku dosyaları gibi, derlemeyi oluşturan diğer tüm dosyaları açıklayan bir dosya tablosu.
.dll s veya diğer dosyalar gibi tüm dış bağımlılıkların listesi olan bir derleme başvuru listesi. Derleme başvuruları hem genel hem de özel nesneler için başvurular içerir. Genel nesneler diğer tüm uygulamalar tarafından kullanılabilir. .NET Core 'da, genel nesneler belirli bir .NET Core çalışma zamanı ile birlikte işlenir. .NET Framework, genel nesneler genel derleme önbelleğinde (GAC) bulunur. System.IO.dll GAC 'deki bir derlemeye bir örnektir. Özel nesneler, uygulamanızın yüklendiği dizinin üzerinde veya altında bir dizin düzeyinde olmalıdır.
derlemeler içerik, sürüm oluşturma ve bağımlılıklar hakkında bilgi içerdiğinden, bunları kullanan uygulamalar, Windows sistemlerindeki kayıt defteri gibi dış kaynakları değil, düzgün şekilde çalışır. Derlemeler .dll çakışmalarını azaltır ve uygulamalarınızın dağıtımını daha güvenilir ve daha kolay hale getirir. Çoğu durumda, bir yükleyebilirsiniz. Yalnızca dosyalarını hedef bilgisayara kopyalayarak NET tabanlı uygulama. Daha fazla bilgi için bkz. derleme bildirimi.
Bir derlemeye başvuru ekleme
Bir uygulamada bir derlemeyi kullanmak için buna bir başvuru eklemeniz gerekir. Bir derlemeye başvurulduktan sonra, tüm erişilebilir türler, özellikler, Yöntemler ve ad alanlarının diğer üyeleri, kodu kaynak dosyanızın bir parçası olduğundan, uygulamanız için kullanılabilir.
Not
.NET sınıf kitaplığındaki çoğu derlemeye otomatik olarak başvurulur. Bir sistem derlemesine otomatik olarak başvurulmazsa aşağıdaki yollarla bir başvuru ekleyin:
- .net ve .net Core için, derlemeyi içeren NuGet paketine bir başvuru ekleyin. Visual Studio NuGet Paket Yöneticisi kullanın ya da <PackageReference> . csproj veya . vbproj projesine derleme için bir öğe ekleyin.
- .NET Framework için, Visual Studio başvuru ekle iletişim kutusunu veya
-referenceC# veya Visual Basic derleyicileri için komut satırı seçeneğini kullanarak derlemeye bir başvuru ekleyin.
C# ' de, tek bir uygulamada aynı derlemenin iki sürümünü kullanabilirsiniz. Daha fazla bilgi için bkz. extern diğer ad.
İlgili içerik
| Başlık | Açıklama |
|---|---|
| Derleme içerikleri | Bir derlemeyi oluşturan öğeler. |
| Derleme bildirimi | Derleme bildirimindeki veriler ve derlemelerde nasıl depolanıyor. |
| Genel derleme önbelleği | GAC derlemeleri nasıl depolar ve kullanır. |
| Tanımlayıcı adlandırılmış derlemeler | Tanımlayıcı adlı derlemelerin özellikleri. |
| Derleme güvenliği hakkında dikkate alınması gerekenler | Güvenlik, Derlemelerle nasıl kullanılır. |
| Derleme sürümü oluşturma | .NET Framework sürüm oluşturma ilkesine genel bakış. |
| Derleme yerleştirme | Derlemelerin nerede bulunacağı. |
| Derlemeler ve yan yana yürütme | Çalışma zamanının veya derlemenin birden çok sürümünü aynı anda kullanın. |
| Dinamik metotları ve bütünleştirilmiş kodları yayma | Dinamik derlemeler oluşturma. |
| Çalışma zamanının derlemeleri nasıl konumlandırır | .NET Framework çalışma zamanında derleme başvurularını nasıl çözümler. |
Başvuru
Ayrıca bkz.
- .NET derleme dosyası biçimi
- Arkadaş derlemeleri
- Başvuru derlemeleri
- Nasıl yapılır: derlemeleri yükleme ve kaldırma
- Nasıl yapılır: .NET Core 'da derleme tasbilirliğini kullanma ve hata ayıklama
- Nasıl yapılır: bir dosyanın derleme olup olmadığını belirleme
- Nasıl yapılır: MetadataLoadContext kullanarak bütünleştirilmiş kod içeriklerini Inceleme