Resgen.exe (Kaynak Dosya Oluşturucu)

Kaynak Dosya Oluşturucu (Resgen.exe), metin (.txt veya .restext) dosyalarını ve XML tabanlı kaynak biçimi (.resx) dosyalarını, bir çalışma zamanı ikili çalıştırılabilir dosyasına katıştırılabilen veya uydu derlemesi haline getirilebilen ortak dil çalışma zamanı ikili (.resources) dosyalarına dönüştürür. Daha fazla bilgi için bkz . Kaynak dosyaları oluşturma.

Resgen.exe aşağıdaki görevleri gerçekleştiren genel amaçlı bir kaynak dönüştürme programıdır:

  • .txt veya .restext dosyalarını .resources veya .resx dosyalarına dönüştürür. (.restext dosyalarının biçimi.txt dosyalarının biçimiyle aynıdır. Ancak.restext uzantısı, kaynak tanımları içeren metin dosyalarını daha kolay tanımlamanıza yardımcı olur.)

  • .resources dosyalarını metin veya .resx dosyalarına dönüştürür.

  • .resx dosyalarını metin veya .resources dosyalarına dönüştürür.

  • Dize kaynaklarını bir derlemeden Windows 8.x Store uygulamasında kullanıma uygun bir .resw dosyasına ayıklar.

  • Tek tek adlandırılmış kaynaklara ve ResourceManager örneğe erişim sağlayan kesin olarak belirlenmiş bir sınıf oluşturur.

Resgen.exe herhangi bir nedenle başarısız olursa, dönüş değeri –1'dir.

Resgen.exe ile ilgili yardım almak için, komut söz dizimini ve Resgen.exe seçeneklerini görüntülemek üzere, hiçbir seçenek belirtilmemiş olarak aşağıdaki komutu kullanabilirsiniz:

resgen

Anahtarı da kullanabilirsiniz /? :

resgen /?

İkili .resources dosyaları oluşturmak için Resgen.exe kullanırsanız, ikili dosyaları yürütülebilir derlemelere eklemek için bir dil derleyicisi kullanabilir veya derleme bağlayıcısını (Al.exe) kullanarak bunları uydu derlemelerinde derleyebilirsiniz.

Bu araç, Visual Studio ile birlikte otomatik olarak yüklenir. Aracı çalıştırmak için Visual Studio Geliştirici Komut İstemi'ni veya Visual Studio Geliştirici PowerShell'i kullanın.

Komut istemine şunu yazın:

Sözdizimi

resgen  [-define:symbol1[,symbol2,...]] [/useSourcePath] filename.extension  | /compile filename.extension... [outputFilename.extension] [/r:assembly] [/str:lang[,namespace[,class[,file]]] [/publicclass]]
resgen filename.extension [outputDirectory]

Parametreler

Parametre veya anahtar Tanım
/define:symbol1[, symbol2,...] .NET Framework 4.5'den başlayarak, metin tabanlı (.txt veya .restext) kaynak dosyalarında koşullu derlemeyi destekler. Simge, bir #ifdef yapı içindeki giriş metin dosyasında yer alan bir simgeye karşılık geliyorsa, ilişkili dize kaynağı .resources dosyasına eklenir. Giriş metin dosyasında #if ! anahtar tarafından /define tanımlanmayan bir simge içeren bir deyim varsa, ilişkili dize kaynağı kaynaklar dosyasına eklenir.

/define , metin olmayan dosyalarla kullanıldığında yoksayılır. Simgeler büyük/küçük harfe duyarlıdır.

Bu seçenek hakkında daha fazla bilgi için bu konunun devamında yer alan Kaynakları Koşullu Olarak Derleme bölümüne bakın.
useSourcePath Giriş dosyasının geçerli dizininin göreli dosya yollarını çözmek için kullanılacağını belirtir.
/compile Tek bir toplu işlemde birden çok .resources dosyasına dönüştürmek için birden fazla .resx veya metin dosyası belirtmenize olanak sağlar. Bu seçeneği belirtmezseniz, yalnızca bir giriş dosyası bağımsız değişkeni belirtebilirsiniz. Çıkış dosyaları filename.resources olarak adlandırılır.

Bu seçenek seçeneğiyle /str: kullanılamaz.

Bu seçenek hakkında daha fazla bilgi için, bu konunun devamında yer alan Birden Çok Dosyayı Derleme veya Dönüştürme konusuna bakın.
/r: assembly Belirtilen derlemedeki meta verilere başvurur. .resx dosyaları dönüştürülürken kullanılır ve Resgen.exe'nin nesne kaynaklarını serileştirmesine veya serilerinin kaldırılmasına olanak sağlar. C# ve Visual Basic derleyicileri için veya /r: seçeneklerine benzer/reference:.
filename.extension Dönüştürülecek giriş dosyasının adını belirtir. Bu tablodan önce sunulan ilk, daha uzun komut satırı söz dizimini kullanıyorsanız, extension aşağıdakilerden biri olmalıdır:

.txt veya .restext
Bir .resources veya .resx dosyasına dönüştürülecek bir metin dosyası. Metin dosyaları yalnızca dize kaynakları içerebilir. Dosya biçimi hakkında bilgi için Kaynak dosyaları oluşturma bölümünün "Metin Dosyalarındaki Kaynaklar" bölümüne bakın.

.resx
Bir .resources veya metin (.txt veya .restext) dosyasına dönüştürülecek XML tabanlı bir kaynak dosyası.

.resources
Bir .resx veya bir metin (.txt veya .restext) dosyasına dönüştürülecek ikili bir kaynak dosyası.

Bu tablodan önce sunulan ikinci, daha kısa komut satırı söz dizimini kullanıyorsanız aşağıdakiler extension olmalıdır:

.exe veya .dll
Dize kaynakları Windows 8.x Store uygulamaları geliştirirken kullanılmak üzere bir .resw dosyasına ayıklanacak olan bir .NET Framework derlemesi (yürütülebilir dosya veya kitaplık).
outputFilename.extension Oluşturulacak kaynak dosyasının adını ve türünü belirtir.

Bir .txt, .restext veya .resx dosyasından bir .resources dosyasına dönüştürme yaparken bu bağımsız değişken isteğe bağlıdır. belirtmezseniz outputFilename, Resgen.exe girişe filename bir .resources uzantısı ekler ve dosyayı içeren filename,extensiondizine yazar.

outputFilename.extension Bağımsız değişken bir .resources dosyasından dönüştürülürken zorunludur. Bir .resources dosyasını XML tabanlı bir kaynak dosyasına dönüştürürken, .resx uzantılı bir dosya adı belirtin. Bir .resources dosyasını bir metin dosyasına dönüştürürken, .txt veya .restext uzantılı bir dosya adı belirtin. Bir .resources dosyasını, .resources dosyası yalnızca dize değerleri içerirken bir .txt dosyasına dönüştürmelisiniz.
outputDirectory Windows 8.x Store uygulamaları için, içindeki dize kaynaklarını filename.extension içeren bir .resw dosyasının yazılacağı dizini belirtir. outputDirectory zaten mevcut olmalıdır.
/str: language[,namespace[,classname[,filename]]] seçeneğinde belirtilen language programlama dilinde kesin olarak belirlenmiş bir kaynak sınıfı dosyası oluşturur. language aşağıdaki değişmez değerlerden birini içerebilir:

- C#: c#, csveya csharpiçin.
- Visual Basic için: vb veya visualbasic.
- VBScript için: vbs veya vbscript.
- C++için: c++, mcveya cpp.
- JavaScript için: js, jscriptveya javascript.

namespace seçeneği projenin varsayılan ad alanını, classname seçeneği oluşturulan sınıfın adını ve filename seçenek de sınıf dosyasının adını belirtir.

seçeneği /str: yalnızca bir giriş dosyasına izin verir, bu nedenle seçeneğiyle /compile kullanılamaz.

Belirtilir ancak classname belirtilmezsenamespace, sınıf adı çıkış dosyası adından türetilir (örneğin, alt çizgiler nokta yerine kullanılır). Kesin olarak belirlenmiş kaynaklar sonuç olarak doğru çalışmayabilir. Bunu önlemek için, hem sınıf adı hem de çıkış dosyası adı belirtin.

Bu seçenek hakkında daha fazla bilgi için, bu konunun devamında Yer alan Kesin Türü Belirlenmiş Bir Kaynak Sınıfı Oluşturma konusuna bakın.
/publicClass Kesin belirlenmiş bir kaynak sınıfını bir genel sınıf olarak oluşturur. Varsayılan olarak, kaynak sınıfı C# ve Friend Visual Basic'tedirinternal.

Seçenek kullanılmazsa /str: bu seçenek yoksayılır.

Resgen.exe ve Kaynak Dosya Türleri

Resgen.exe'nin kaynakları doğru olarak dönüştürmesi için, metin ve .resx dosyalarının doğru biçime uygun olması gerekir.

Metin (.txt ve .restext) Dosyaları

Metin (.txt veya .restext) dosyaları yalnızca dize kaynakları içerebilir. Dizelerin çeşitli dillere çevrilmiş olması gereken bir uygulama yazıyorsanız, dize kaynakları yararlıdır. Örneğin, uygun dize kaynağını kullanarak, menü dizelerini kolayca bölgeselleştirebilirsiniz. Resgen.exe, ad/değer çiftlerini içeren metin dosyalarını okur; burada, ad kaynağı tanımlayan bir dizedir ve değer kaynak dizesinin kendisidir.

Dekont

.txt ve .restext dosyalarının biçimi hakkında bilgi için Kaynak dosyaları oluşturma'nın "Metin Dosyalarındaki Kaynaklar" bölümüne bakın.

Yalnızca Temel Latince aralığındaki karakterleri (U+007F) içermedikçe, kaynakları içeren bir metin dosyasının UTF-8 veya Unicode (UTF-16) kodlamasıyla kaydedilmesi gerekir. Resgen.exe, ANSI kodlaması kullanılarak kaydedilen bir metin dosyasını işlerken genişletilmiş ANSI karakterlerini kaldırır.

Resgen.exe, metin dosyasında yinelenen kaynak adlarını denetler. Metin dosyası yinelenen kaynak adları içeriyorsa, Resgen.exe bir uyarı verir ve ikinci değeri yoksayar.

.resx Dosyaları

.resx kaynak dosyası biçimi XML girişlerinden oluşur. Metin dosyalarında olduğu gibi bu XML girdileri içinde dize kaynakları belirtebilirsiniz. .resx dosyalarının metin dosyalarına göre birincil yararlarından birisi, nesneler de belirtebilir veya gömebilir olmanızdır. Bir .resx dosyasını görüntülediğinizde, ikili bilgiler kaynak bildiriminin bir parçası olduğunda, gömülü bir nesnenin (örneğin, bir resim) ikili biçimini görebilirsiniz. Metin dosyalarında olduğu gibi, bir .resx dosyasını bir metin düzenleyicicisiyle (Not Defteri veya Microsoft Word gibi) açabilir ve içeriğini yazabilir, ayrıştırabilir ve değiştirebilirsiniz. Bunun için, XML etiketlerini ve .resx dosyası yapısını iyi bilmenin gerektiğini unutmayın. .resx dosya biçimi hakkında daha fazla bilgi için Kaynak dosyaları oluşturma'nın ".resx Dosyalarındaki Kaynaklar" bölümüne bakın.

Katıştırılmış olmayan nesneler içeren bir .resources dosyası oluşturmak için, nesneleri içeren bir .resx dosyasını dönüştürmek için Resgen.exe'yi kullanmanız veya sınıf tarafından ResourceWriter sağlanan yöntemleri çağırarak nesne kaynaklarını doğrudan koddan dosyanıza eklemeniz gerekir.

.resx veya .resources dosyanız nesneler içeriyorsa ve onu bir metin dosyasına dönüştürmek için Resgen.exe'yi kullanırsanız, tüm dize kaynakları doğru şekilde dönüştürülür, fakat dize olmayan nesnelerin veri türleri de dize olarak dosyaya yazılır. Gömülü nesneleri dönüştürmede kaybedersiniz ve Resgen.exe, kaynakları alırken bir hata oluştuğunu bildirir.

Kaynak Dosya Türleri Arasında Dönüştürme

Farklı kaynak dosya türleri arasında dönüştürme yaptığınızda, Resgen.exe, kaynak ve hedef dosya türlerine bağlı olarak dönüştürmeyi gerçekleştiremeyebilir veya belirli kaynaklarla ilgili bilgileri kaybedebilir. Aşağıdaki tablo, bir kaynak dosya türünden diğerine dönüştürürken başarılı olan dönüşümleri türlerini belirtir.

Dönüştürme kaynağı Metin dosyasına .resx dosyasına .resw dosyasına .resources dosyasına
Metin (.txt veya .restext) dosyası -- Sorun yok Desteklenmez Sorun yok
.resx dosyası Dosya dize olmayan kaynaklar (dosya bağlantıları dahil) içeriyorsa, dönüştürme başarısız olur. -- Desteklenmiyor* Sorun yok
.resources dosyası Dosya dize olmayan kaynaklar (dosya bağlantıları dahil) içeriyorsa, dönüştürme başarısız olur. Sorun yok Desteklenmez --
.exe veya .dll derlemesi Desteklenmez Desteklenmez Yalnızca dize kaynakları (yol adları dahil) kaynak olarak tanınır. Desteklenmez

*Windows 8.x Store uygulamalarında kaynak oluşturmak için .resw dosyalarını kullanırsınız. Dosya uzantısının farkı olmasına rağmen, .resw dosya biçimi .resx dosya biçimiyle aynıdır, ancak .resw dosyaları yalnızca dizeleri ve dosya yollarını içerebilir. Yalnızca dizeleri ve dosya yollarını içeren .resx dosyalarını yalnızca dosya uzantısını değiştirerek .resw dosyalarına dönüştürebilirsiniz.

Belirli Resgen.exe Görevlerini Gerçekleştirme

Resgen.exe dosyasını çeşitli şekillerde kullanabilirsiniz: metin tabanlı veya XML tabanlı bir kaynak dosyasını ikili dosyaya derlemek, kaynak dosya biçimleri arasında dönüştürmek ve işlevselliği sarmalayan ResourceManager ve kaynaklara erişim sağlayan bir sınıf oluşturmak için. Bu bölüm, her görevle ilgili ayrıntılı bilgi sağlar:

Kaynakları Bir İkili Dosyaya Derleme

Resgen.exe'nin en yaygın kullanımı, metin tabanlı bir kaynak dosyasını (bir .txt veya .restext dosyası) veya XML tabanlı bir kaynak dosyasını (bir .resx dosyası) bir ikili .resources dosyasına derlemektir. Daha sonra çıkış dosyası, bir dil derleyicisi tarafından bir ana derlemeye veya Assembly Linker (AL.exe) tarafından bir uydu derlemesine eklenebilir.

Bir kaynak dosyasını derlemek için sözdizimi aşağıdaki gibidir:

resgen inputFilename [outputFilename]

burada parametreler şunlardır:

inputFilename Derlenecek kaynak dosyasının uzantısı da dahil olmak üzere dosya adı. Resgen.exe yalnızca uzantısı .txt, .restext veya .resx olan dosyaları derler.

outputFilename Çıkış dosyasının adı. atlarsanızoutputFilename, Resgen.exe ile aynı dizinde inputFilenamekök dosya adıyla inputFilename bir .resources dosyası oluşturur. Bir dizin yolu içeriyorsa outputFilename , dizinin mevcut olması gerekir.

.resources dosyası için tam olarak belirtilen bir ad alanını, ad alanını dosya adında belirterek ve bir nokta ile kök dosya adından ayırarak belirtirsiniz. Örneğin, ise outputFilenameMyCompany.Libraries.Strings.resourcesad alanı MyCompany.Libraries şeklindedir.

Aşağıdaki komut, Resources.txt dosyasındaki ad/değer çiftlerini okur ve Resources.resources adlı bir ikili .resources dosyası yazar. Çıkış dosyası adı açıkça belirtilmediği için, varsayılan olarak giriş dosyası adıyla aynı adı alır.

resgen Resources.txt

Aşağıdaki komut, Resources.restext dosyasındaki ad/değer çiftlerini okur ve StringResources.resources adlı bir ikili .resources dosyası yazar.

resgen Resources.restext StringResources.resources

Aşağıdaki komut, Resources.resx adlı XML tabanlı bir giriş dosyasını okur ve Resources.resources adlı bir ikili .resources dosyası yazar.

resgen Resources.resx Resources.resources

Kaynak Dosya Türleri Arasında Dönüştürme

Metin tabanlı veya XML tabanlı kaynak dosyalarını ikili .resources dosyalarına derlemeye ek olarak, Resgen.exe desteklenen herhangi bir dosya türünü desteklenen herhangi bir başka dosya türüne dönüştürebilir. Başka bir deyişle, aşağıdaki dönüştürmeleri gerçekleştirebilir:

  • .txt ve .restext dosyalarını .resx dosyalarına.

  • .resx dosyalarını .txt ve .restext dosyalarına.

  • .resources dosyalarını .txt ve .restext dosyalarına.

  • .resources dosyalarını .resx dosyalarına.

Sözdizimi, bir önceki bölümde gösterilenle aynıdır.

Ayrıca, .NET Framework derlemesindeki ekli kaynakları Windows 8.x Store uygulamaları için .resw dosyasına dönüştürmek için Resgen.exe'yi kullanabilirsiniz.

Aşağıdaki komut, bir ikili .resources dosyası olan Resources.resources dosyasını okur ve Resources.resx adlı XML tabanlı bir çıkış dosyası yazar.

resgen Resources.resources Resources.resx

Aşağıdaki komut, StringResources.txt adlı metin tabanlı bir .resources dosyasını okur ve LibraryResources.resx adlı XML tabanlı bir .resources dosyası yazar. Dize dosyalarını eklemek yerine, .resx dosyası dize olmayan kaynakları depolamak için de kullanılabilir.

resgen StringResources.txt LibraryResources.resx

Aşağıdaki iki komut Resources.resx adlı XML tabanlı bir .resources dosyasını okur ve Resources.txt ve Resources.restext adlı metin dosyaları yazar. .resx dosyasının gömülü nesneler içermesi durumunda, bu nesnelerin metin dosyalarına doğru şekilde dönüştürülmeyeceğini unutmayın.

resgen Resources.resx Resources.txt
resgen Resources.resx Resources.restext

Birden Çok Dosyayı Derleme veya Dönüştürme

Kaynak dosyalarının /compile listesini tek bir işlemde bir biçimden diğerine dönüştürmek için anahtarını kullanabilirsiniz. Söz dizimi aşağıdaki gibidir:

resgen /compile filename.extension [filename.extension...]

Aşağıdaki komut, StringResources.txt, TableResources.resw ve ImageResources.resw adlı üç dosyayı StringResources.resources, TableResources.resources ve ImageResources.resources adlı ayrı .resources dosyalarına dönüştürür.

resgen /compile StringResources.txt TableResources.resx ImageResources.resx

Kaynakları Bir .resw Dosyasına Verme

Windows 8.x Store uygulaması geliştiriyorsanız, mevcut bir masaüstü uygulamasındaki kaynakları kullanmak isteyebilirsiniz. Ancak, iki tür uygulama farklı dosya biçimlerini destekler. Masaüstü uygulamalarında, metin (.txt veya .restext) veya .resx dosyaları içinde kaynaklar ikili .resources dosyalarına derlenir. Windows 8.x Store uygulamalarında .resw dosyaları ikili paket kaynak dizini (PRI) dosyaları halinde derlenir. Resgen.exe'yi kullanarak bir yürütülebilir dosyadan veya uydu derlemesinden kaynakları ayıklayabilir ve bir Windows 8.x Store uygulaması geliştirirken kullanılabilecek bir veya daha fazla .resw dosyaya yazabilirsiniz.

Önemli

Visual Studio, taşınabilir bir kitaplıktaki kaynakları bir Windows 8.x Store uygulamasına dahil etme için gereken tüm dönüştürmeleri otomatik olarak işler. Bir derlemedeki kaynakları .resw dosya biçimine dönüştürmek için Resgen.exe dosyasının doğrudan kullanılması yalnızca Visual Studio dışında bir Windows 8.x Store uygulaması geliştirmek isteyen geliştiriciler için ilgi çekicidir.

Bir derlemeden .resw dosyaları oluşturmak için sözdizimi aşağıdaki gibidir:

resgen filename.extension  [outputDirectory]

burada parametreler şunlardır:

filename.extension .NET Framework derlemesinin adı (yürütülebilir dosya veya .DLL). Dosya hiç kaynak içermiyorsa, Resgen.exe herhangi bir dosya oluşturmaz.

outputDirectory .resw dosyalarının yazıldığı mevcut dizin. Atlanırsa outputDirectory , .resw dosyaları geçerli dizine yazılır. Resgen.exe, derlemedeki her bir .resources dosyası için bir .resw dosyası oluşturur. .resw dosyasının kök dosya adı, .resources dosyasının kök adı ile aynıdır.

Aşağıdaki komut, MyApp.exe içinde gömülü her .resources dosyası için Win8Resources dizininde bir .resw dosyası oluşturur:

resgen MyApp.exe Win8Resources

Kaynakları Koşullu Olarak Derleme

.NET Framework 4.5'den başlayarak, Resgen.exe metin (.txt ve .restext) dosyalarındaki dize kaynaklarının koşullu derlemesini destekler. Bu, birden çok oluşturma yapılandırmasında tek bir metin tabanlı dosya kullanmanıza olanak tanır.

.txt veya .restext dosyasında. #ifdef..#endifbir simge tanımlanmışsa ikili .resources dosyasına bir kaynak eklemek için yapısı ve bir simge tanımlanmamışsa kaynak eklemek için ... #endif yapısını kullanırsınız#if !. Derleme zamanında, ardından seçeneğini ve ardından virgülle ayrılmış simge listesini kullanarak /define: sembolleri tanımlarsınız. Karşılaştırma büyük/küçük harfe duyarlıdır. tarafından /define tanımlanan simgelerin durumu, derlenecek metin dosyalarındaki simgelerin durumuyla eşleşmelidir.

Örneğin, UIResources.text adlı aşağıdaki dosya, , veya RETAIL adlı simgelerin tanımlanıp tanımlanmadığına bağlı olarak üç değerden birini alabilen adlı PRODUCTIONAppTitleCONSULTbir dize kaynağı içerir.

#ifdef PRODUCTION
AppTitle=My Software Company Project Manager
#endif
#ifdef CONSULT
AppTitle=My Consulting Company Project Manager
#endif
#ifdef RETAIL
AppTitle=My Retail Store Project Manager
#endif
FileMenuName=File

Dosya daha sonra aşağıdaki komut kullanılarak bir ikili .resources dosyası içine derlenebilir:

resgen /define:CONSULT UIResources.restext

Bu, iki dize kaynağı içeren bir .resources dosyası oluşturur. Kaynağın AppTitle değeri "Danışmanlık Şirketim Proje Yöneticisi"dir.

Kesin Olarak Belirlenmiş Bir Kaynak Sınıfı Oluşturma

Resgen.exe, bir statik salt okunur özellikler kümesi içeren sınıflar oluşturarak kaynaklara erişimi kapsülleyen, kesin olarak belirlenmiş kaynakları destekler. Bu, doğrudan kaynakları almak için sınıfının yöntemlerini çağırmak ResourceManager için bir alternatif sağlar. Resgen.exe dosyasındaki sınıfın /str işlevselliğini StronglyTypedResourceBuilder sarmalayan seçeneğini kullanarak kesin olarak belirlenmiş kaynak desteğini etkinleştirebilirsiniz. seçeneğini belirttiğinizde /str , Resgen.exe'nin çıkışı, giriş parametresinde başvuruda bulunan kaynaklarla eşleşen kesin olarak belirlenmiş özellikler içeren bir sınıftır. Bu sınıf, işlenen dosyada kullanılabilir olan kaynaklara kesin belirlenmiş salt okunur erişim sağlar.

Kesin belirlenmiş kaynak oluşturmak için sözdizimi aşağıdaki gibidir:

resgen inputFilename [outputFilename] /str:language[,namespace,[classname[,filename]]] [/publicClass]

Parametreler ve anahtarlar şunlardır:

inputFilename Kesin olarak türü belirlenmiş bir kaynak sınıfı oluşturulacak kaynak dosyasının uzantısı da dahil olmak üzere dosya adı. Dosya, metin tabanlı, XML-tabanlı veya ikili .resources dosyası olabilir; uzantısı .txt, .restext, .resw veya .resources olabilir.

outputFilename Çıkış dosyasının adı. Bir dizin yolu içeriyorsa outputFilename , dizinin mevcut olması gerekir. atlarsanızoutputFilename, Resgen.exe ile aynı dizinde inputFilenamekök dosya adıyla inputFilename bir .resources dosyası oluşturur.

outputFilename metin tabanlı, XML tabanlı veya ikili bir .resources dosyası olabilir. dosyasının uzantısı outputFilename , dosyasının inputFilenameuzantısından farklıysa, Resgen.exe dosya dönüştürme işlemini gerçekleştirir.

Bir .resources dosyasıysa inputFilename , Resgen.exe aynı zamanda bir .resources dosyasıysa outputFilename .resources dosyasını kopyalar. Belirtilmezse outputFilename , Resgen.exe aynı .resources dosyasıyla üzerine yazar inputFilename .

language Kesin olarak yazılan kaynak sınıfı için kaynak kodu oluşturulacak dil. Olası değerlercs, C# kodu için , C#ve csharp C# kodu için, vbvisualbasic Visual Basic kodu için ve vbscriptvbs VBScript kodu için ve c++, mcve cpp C++ kodu için geçerlidir.

ad alanı Kesin olarak yazılan kaynak sınıfını içeren ad alanı. .resources dosyası ve kaynak sınıfı aynı ad alanına sahip olmalıdır. içinde outputFilenamead alanını belirtme hakkında bilgi için bkz . Kaynakları İkili Dosyaya Derleme. Ad alanı atlanırsa, kaynak sınıfı bir ad alanında yer almaz.

classname Kesin olarak yazılan kaynak sınıfının adı. Bu, .resources dosyasının kök adına karşılık gelmelidir. Örneğin, Resgen.exe MyCompany.Libraries.Strings.resources adlı bir .resources dosyası üretirse, belirlenmiş kaynak sınıfının adı Strings olur. classname atlanırsa, oluşturulan sınıf kök adından outputFilenametüretilir. Atlanırsa outputFilename , oluşturulan sınıf kök adından inputFilenametüretilir.

classname , eklenmiş boşluklar gibi geçersiz karakterler içeremez. Classname eklenmiş boşluklar içeriyorsa veya classname varsayılan olarak inputFilename öğesinden oluşturulduysa ve inputFilename eklenmiş boşluklar içeriyorsa, Resgen.exe tüm geçersiz karakterleri bir alt çizgi (_) ile değiştirir.

filename Sınıf dosyasının adı.

/publicclassKesin olarak yazılan kaynak sınıfını (C#'de) veya Friend (Visual Basic'te) yerine internal genel yapar. Bu, kaynaklara, içine gömüldükleri derlemenin dışından erişmeye olanak tanır.

Önemli

Kesin olarak belirlenmiş bir kaynak sınıfı oluşturduğunuzda, .resources dosyanızın adı üretilen kodun ad alanıyla ve sınıf adıyla eşleşmelidir. Ancak, Resgen.exe uyumsuz bir adı olan bir .resources dosyası üretmek seçenekleri belirtmenize olanak verir. Bu davranışa geçici bir çözüm için, çıktı dosyası oluşturulduktan sonra dosyayı yeniden adlandırın.

Kesin belirlenmiş kaynak sınıfı aşağıdaki üyelere sahiptir:

  • Kesin olarak türü belirlenmiş kaynak sınıfının örneğini oluşturmak için kullanılabilecek parametresiz bir oluşturucu.

  • static Kesin türü belirlenmiş kaynağı yöneten örneği döndüren ResourceManager bir (C#) veya Shared (Visual Basic) ve salt ResourceManager okunur özellik.

  • Kaynak alma için kullanılan kültürü ayarlamanıza olanak tanıyan statik Culture bir özellik. Varsayılan olarak değeri değeridir nullve geçerli ui kültürünün kullanıldığı anlamına gelir.

  • .resources dosyasındaki her kaynak için bir static (C#) veya Shared (Visual Basic) ve salt okunur özellik. Özelliğin adı, kaynağının adıdır.

Örneğin, aşağıdaki komut StringResources.txt adlı bir kaynak dosyasını StringResources.resources içine derler ve Resource Manager'a erişmek için kullanılabilecek StringResources.vb adlı Visual Basic kaynak kodu dosyasında adlı bir sınıf StringResources oluşturur.

resgen StringResources.txt /str:vb,,StringResources

Ayrıca bkz.