Kaynakları belirten C# Derleyici Seçenekleri

Aşağıdaki seçenekler, C# derleyicisinin Win32 kaynaklarını nasıl oluşturduğunu veya içeri aktarduğunu denetler. Yeni MSBuild söz dizimi Kalın olarak gösterilir. Eski csc.exe söz dizimi içinde code stylegösterilir.

  • Win32Resource / -win32res: Bir Win32 kaynak dosyası (.res) belirtin.
  • Win32Icon / -win32icon: Belirtilen derleme dosyasından veya dosyalarından gelen başvuru meta verileri.
  • Win32Manifest / -win32manifest: Bir Win32 bildirim dosyası (.xml) belirtin.
  • NoWin32Manifest / -nowin32manifest: Varsayılan Win32 bildirimini eklemeyin.
  • Kaynaklar / -resource: Belirtilen kaynağı ekleyin (Kısa form: /res).
  • LinkResources / -linkresources: Belirtilen kaynağı bu derlemeye bağlayın.

Win32Resource

Win32Resource seçeneği, çıkış dosyasına bir Win32 kaynağı ekler.

<Win32Resource>filename</Win32Resource>

filename , çıkış dosyanıza eklemek istediğiniz kaynak dosyasıdır. Win32 kaynağı, Dosya Gezgini uygulamanızı tanımlamaya yardımcı olacak sürüm veya bit eşlem (simge) bilgilerini içerebilir. Bu seçeneği belirtmezseniz, derleyici derleme sürümünü temel alan sürüm bilgileri oluşturur.

Win32Icon

Win32Icon seçeneği çıkış dosyasına bir .ico dosyası ekler ve bu da çıkış dosyasına Dosya Gezgini istenen görünümü verir.

<Win32Icon>filename</Win32Icon>

filename, çıkış dosyanıza eklemek istediğiniz .ico dosyasıdır. Kaynak Derleyicisi ile bir .ico dosyası oluşturulabilir. Bir Visual C++ programı derlediğinizde Kaynak Derleyicisi çağrılır; .rc dosyasından bir .ico dosyası oluşturulur.

Win32Manifest

Projenin taşınabilir yürütülebilir (PE) dosyasına eklenecek kullanıcı tanımlı bir Win32 uygulama bildirim dosyası belirtmek için Win32Manifest seçeneğini kullanın.

<Win32Manifest>filename</Win32Manifest>

filename , özel bildirim dosyasının adı ve konumudur. Varsayılan olarak, C# derleyicisi istenen "asInvoker" yürütme düzeyini belirten bir uygulama bildirimi ekler. Bildirimi yürütülebilir dosyanın oluşturulduğu klasörde oluşturur. "highestAvailable" veya "requireAdministrator" istenen yürütme düzeyini belirtmek gibi özel bir bildirim sağlamak istiyorsanız, dosyanın adını belirtmek için bu seçeneği kullanın.

Not

Bu seçenek ve Win32Resources seçeneği birbirini dışlar . Aynı komut satırında her iki seçeneği de kullanmayı denerseniz bir derleme hatası alırsınız.

İstenen yürütme düzeyini belirten uygulama bildirimi olmayan bir uygulama, Windows'daki Kullanıcı Hesabı Denetimi özelliği altında dosya ve kayıt defteri sanallaştırmasına tabi olur. Daha fazla bilgi için bkz . Kullanıcı Hesabı Denetimi.

Bu koşullardan biri doğruysa uygulamanız sanallaştırmaya tabi olacaktır:

  • NoWin32Manifest seçeneğini kullanırsınız ve Win32Resource seçeneğini kullanarak sonraki bir derleme adımında veya windows kaynağı (.res) dosyasının bir parçası olarak bildirim sağlamazsınız.
  • İstenen yürütme düzeyini belirtmeyen özel bir bildirim sağlarsınız.

Visual Studio varsayılan bir .manifest dosyası oluşturur ve bu dosyayı yürütülebilir dosyanın yanı sıra hata ayıklama ve yayın dizinlerinde depolar. Herhangi bir metin düzenleyicisinde bir bildirim oluşturup dosyayı projeye ekleyerek özel bildirim ekleyebilirsiniz. Alternatif olarak, Çözüm Gezgini'da Proje simgesine sağ tıklayabilir, Yeni Öğe Ekle'yi ve ardından Uygulama Bildirim Dosyası'nı seçebilirsiniz. Yeni veya mevcut bildirim dosyanızı ekledikten sonra bildirim açılan listesinde görünür. Daha fazla bilgi için bkz . Uygulama Sayfası, Proje Tasarımcısı (C#).

NoWin32Manifest seçeneğini kullanarak uygulama bildirimini özel bir derleme sonrası adımı olarak veya Win32 kaynak dosyasının bir parçası olarak sağlayabilirsiniz. Uygulamanızın Windows Vista'da dosya veya kayıt defteri sanallaştırmasına tabi olmasını istiyorsanız aynı seçeneği kullanın.

NoWin32Manifest

Derleyiciye yürütülebilir dosyaya uygulama bildirimi eklememelerini bildirmek için NoWin32Manifest seçeneğini kullanın.

<NoWin32Manifest />

Bu seçenek kullanıldığında, Win32 Kaynak dosyasında veya daha sonraki bir derleme adımında uygulama bildirimi sağlamadığınız sürece uygulama Windows Vista'da sanallaştırmaya tabi olur.

Visual Studio'da, Bildirim açılan listesindeki Bildirim Olmadan Uygulama Oluştur seçeneğini belirleyerek Uygulama Özelliği sayfasında bu seçeneği ayarlayın. Daha fazla bilgi için bkz . Uygulama Sayfası, Proje Tasarımcısı (C#).

Kaynaklar

Belirtilen kaynağı çıkış dosyasına ekler.

<Resources Include=filename>
  <LogicalName>identifier</LogicalName>
  <Access>accessibility-modifier</Access>
</Resources>

filename , çıkış dosyasına eklemek istediğiniz .NET kaynak dosyasıdır. identifier (isteğe bağlı) kaynağın mantıksal adıdır; kaynağı yüklemek için kullanılan ad. Varsayılan, dosyanın adıdır. accessibility-modifier (isteğe bağlı) kaynağın erişilebilirliğidir: genel veya özel. Varsayılan değer geneldir. Varsayılan olarak, kaynaklar C# derleyicisi kullanılarak oluşturulduğunda derlemede ortaktır. Kaynakları özel hale getirmek için erişilebilirlik değiştirici olarak belirtin private . veya private dışında public başka erişilebilirlik yoktur. Örneğin, Resgen.exe veya geliştirme ortamında oluşturulmuş bir .NET kaynak dosyasıysafilename, ad alanındaki System.Resources üyelerle erişilebilir. Daha fazla bilgi için bkz. System.Resources.ResourceManager. Diğer tüm kaynaklar için, çalışma zamanında kaynağa erişmek için sınıfındaki Assembly yöntemleri kullanınGetManifestResource. Çıkış dosyasındaki kaynakların sırası, proje dosyasında belirtilen sırayla belirlenir.

LinkResources

Çıkış dosyasında bir .NET kaynağına bağlantı oluşturur. Kaynak dosyası çıkış dosyasına eklenmez. LinkResources, kaynak dosyasını çıkış dosyasına ekleyen Kaynak seçeneğinden farklıdır.

<LinkResources Include=filename>
  <LogicalName>identifier</LogicalName>
  <Access>accessibility-modifier</Access>
</LinkResources>

filename , derlemeden bağlamak istediğiniz .NET kaynak dosyasıdır. identifier (isteğe bağlı) kaynağın mantıksal adıdır; kaynağı yüklemek için kullanılan ad. Varsayılan, dosyanın adıdır. accessibility-modifier (isteğe bağlı) kaynağın erişilebilirliğidir: genel veya özel. Varsayılan değer geneldir. Varsayılan olarak, bağlantılı kaynaklar C# derleyicisi ile oluşturulduklarında derlemede ortaktır. Kaynakları özel hale getirmek için erişilebilirlik değiştirici olarak belirtin private . veya private dışında public başka değiştiriciye izin verilmez. Örneğin, Resgen.exe veya geliştirme ortamında oluşturulmuş bir .NET kaynak dosyasıysafilename, ad alanındaki System.Resources üyelerle erişilebilir. Daha fazla bilgi için bkz. System.Resources.ResourceManager. Diğer tüm kaynaklar için, çalışma zamanında kaynağa erişmek için sınıfındaki Assembly yöntemleri kullanınGetManifestResource. içinde filename belirtilen dosya herhangi bir biçimde olabilir. Örneğin, derlemenin yerel DLL'sini derlemenin bir parçası yapmak isteyebilirsiniz; böylece genel derleme önbelleğine yüklenebilir ve derlemedeki yönetilen koddan erişilebilir. Aynı işlemi Derleme Bağlayıcısı'nda da yapabilirsiniz. Daha fazla bilgi için bkz . Al.exe (Derleme Bağlayıcısı) ve Derlemelerle Çalışma ve Genel Derleme Önbelleği.