Resgen. exe (gerador do arquivo de recurso)
O Resource File Generator converte os arquivos de texto (. txt ou .restext) e arquivos de formato (. resx) de recurso baseado em XML para arquivos de binário (. Resources) comum de runtime de linguagem que podem ser incorporados em um executável binário de tempo de execução ou compilados em assemblies satélites. Para obter informações sobre como implantar e recuperar arquivos. Resources, consulte recursos em aplicativos.
Resgen. exe executa as seguintes conversões:
Converte arquivos. txt ou .restext. Resources ou. resx.
Observação
A extensão de .restext foi introduzida na.NET Framework versão 2.0.O formato dos arquivos de .restext é idêntico ao formato de arquivos. txt.No entanto, a extensão .restext ajuda você identificar os arquivos de texto que contêm definições de recursos mais facilmente.
Converte arquivos. Resources para arquivos de texto ou. resx.
Converte arquivos. resx para arquivos de texto ou. Resources.
O gerador do arquivo de recurso é instalado automaticamente com o Visual Studio. Para iniciar a ferramenta, use o Prompt de comando Visual Studio. No prompt de comando, digite o seguinte:
resgen [parameters] [/compile]filename.extension [outputFilename.extension] [/str:lang[,namespace[,class[,file]]]]
Argumento |
Descrição |
---|---|
filename.extension |
O nome do arquivo de entrada para converter. O extension deve ser um dos seguintes:
|
outputFilename.extension |
O nome do arquivo de recurso para criar. Esse argumento é opcional durante a conversão de um arquivo. resx, .restext ou. txt. Você pode especificar a extensão. Resources ao converter um arquivo de texto ou. resx para um arquivo. Resources. Se você não especificar um outputFilename, Resgen. exe anexará uma extensão. Resources para a entrada filenameargumento e grava o arquivo para o diretório que contém filename. O outputFilename argumento é obrigatório quando a conversão de um arquivo. Resources. Especifica a extensão. resx ao converter um arquivo. Resources para um arquivo de recurso baseado em XML. Especifica a extensão. txt ou .restext ao converter um arquivo. Resources para um arquivo de texto. Você só deve converter um arquivo. Resources para um arquivo. txt quando o arquivo. Resources contém somente valores de seqüência de caracteres. |
Opção |
Descrição |
---|---|
/compile |
Permite que você especificar vários arquivos. resx ou texto para converter vários arquivos. Resources em uma operação em massa de único. Se você não especificar esta opção, você pode especificar o argumento de apenas um arquivo de entrada. Esta opção não pode ser usada com o /str: opção. |
/publicClass |
Cria uma classe de recurso fortemente tipado como uma classe pública. Essa opção é ignorada se a /str: opção não for usada. |
/r:assembly |
Especifica que tipos devem ser carregado a partir assembly. Se você especificar esta opção, um arquivo. resx com uma versão anterior de um tipo utilizará o tipo na assembly. |
/str:language[,namespace[,classname[,filename]]] |
Cria um arquivo de classe strongly typed Resources na linguagem de programação (cs ou C# para C#, vb ou visualbasic para Visual Basic) especificada na language opção. Você pode usar o namespace opção para especificar o namespace do projeto padrão, o classname opção para especificar o nome da classe gerada e o filename opção para especificar o nome do arquivo de classe. Observação No.NET Framework versão 2.0, classname e filename são ignoradas se namespace não for especificado. Apenas um arquivo de entrada é permitido quando a /str: opção for usada, portanto, não pode ser usado com o /compile opção. Se namespace for especificado mas classname não estiver, o nome de classe é derivado do nome do arquivo de saída (por exemplo, os sublinhados são substituídos por períodos longos). Os recursos com rigidez de tipos podem não funcionar corretamente como resultado. Para evitar isso, especifique o nome da classe e o nome do arquivo de saída. |
/usesourcepath |
Especifica que a pasta atual do arquivo de entrada a ser usado para resolver os caminhos de arquivo relativos. |
Resgen. exe converte arquivos encapsulando os métodos implementados pelas quatro classes seguintes:
Classe ResourceReader lê um arquivo. Resources.
Classe ResourceWriter cria um arquivo. Resources de recursos especificados.
Classe de ResXResourceReader lê um arquivo. resx.
Classe de ResXResourceWriter cria um arquivo. resx de recursos especificados.
Observe que um arquivo. resx criado pelo ResXResourceWriter classe não pode ser usado diretamente por um.NET Framework application. Antes de adicionar esse arquivo para seu aplicativo, execute-o por meio de Resgen. exe para convertê-lo em um arquivo. Resources. Para obter mais informações sobre como implementar essas classes em seu código, consulte os tópicos de referência respectivos.
Em ordem para Resgen. exe poder analisar sua entrada, é essencial que seus arquivos de texto e. resx seguem o formato correto.
Arquivos de texto (. txt ou .restext) podem conter somente os recursos de seqüência de caracteres. Os recursos de seqüência de caracteres são úteis se você estiver escrevendo um aplicativo que deve ter as seqüências de caracteres, traduzidas em vários idiomas. Por exemplo, você pode regionalizar facilmente strings de menu usando o recurso de cadeia de caracteres apropriada. Resgen. exe lê arquivos de texto que contém os pares nome/valor, onde o nome é uma seqüência de caracteres que descrevem os recursos e o valor é a seqüência de recurso. Você deve especificar cada par nome/valor em uma linha separada da seguinte maneira:
name=value
Observe que as seqüências de caracteres vazias são permitidas em arquivos de texto. Por exemplo:
EmptyString=
Um arquivo de texto deve ser salvo com UTF-8 ou Unicode codificação, a menos que ele contenha apenas caracteres do alfabeto romano simples, sem sinais diacríticos como, por exemplo, o cedilha, que tem trema e til. Por exemplo, o Resgen. exe remove os caracteres ANSI quando ele processa um arquivo de texto que não tenha UTF-8 ou codificação Unicode.
Resgen. exe verifica o arquivo de texto para nomes de recursos duplicados. Se o arquivo de texto contém nomes de recursos duplicados, Resgen. exe irá emitir um aviso e ignorar os nomes duplicados. Para obter mais detalhes sobre o formato de arquivo de texto, consulte recursos no formato de arquivo de texto.
O formato de arquivo de recurso. resx consiste em entradas XML. Você pode especificar os recursos de seqüência de caracteres dentro dessas entradas XML, como faria em arquivos de texto. Uma vantagem principal dos arquivos. resx sobre os arquivos de texto é o que você pode também especificar ou incorporar objetos. Quando você visualiza um arquivo. resx, você pode realmente ver o formato binário de um objeto incorporado (uma imagem por exemplo) quando esta informação binária é uma parte do manifesto de recurso. Assim como com os arquivos de texto, você pode abrir um arquivo. resx com um editor de texto (como, por exemplo, o bloco de notas ou o Microsoft Word) e escrever, analisar e manipular o conteúdo. Observe que para fazer isso, um bom conhecimento de marcas XML e a estrutura do arquivo. resx é necessário. Para obter mais detalhes sobre o formato de arquivo. resx, consulte recursos.Formato de arquivo resx.
Para criar um arquivo. Resources contendo os objetos que incorporado, você deve usar Resgen. exe para converter um arquivo. resx contendo objetos ou adicionar recursos do objeto ao seu arquivo diretamente do código, usando os métodos fornecidos pelo Classe ResourceWriter. Se você usar Resgen. exe para converter um arquivo. Resources contendo objetos de um arquivo de texto, todos os recursos de seqüência de caracteres serão convertidos corretamente, mas os tipos de dados dos objetos também serão gravados no arquivo como seqüências de caracteres. Você perderá objetos incorporados na conversão e Resgen. exe irá relatar que um erro ao recuperar os recursos.
A.NET Framework versão 2.0 oferece suporte a recursos com rigidez de tipos. Suporte a recurso fortemente tipado encapsula o acesso aos recursos criando classes que contêm um conjunto de estático somente leitura (get) propriedades, proporcionando uma maneira alternativa para consumir recursos, em vez de usar os métodos da ResourceManager classe diretamente. A funcionalidade básica é fornecida pelo /str opção de linha de comando em Resgen. exe, que encapsula a funcionalidade da StronglyTypedResourceBuilder classe. Quando você especificar o /str opção, a saída de Resgen. exe é uma classe que contém propriedades de rigidez de tipos que coincidam com os recursos que são referenciados no parâmetro de entrada. Essa classe fornece acesso fortemente tipados de somente leitura aos recursos que estão disponíveis no arquivo processado.
O Resgen. exe (gerador do arquivo de recurso) ferramenta permite que você crie .resources arquivos, bem como de wrappers com rigidez de tipos para acessar as .resources arquivos. Quando você cria um wrapper com rigidez de tipos, o nome do seu .resources arquivo deve coincidir com o nome do namespace e classe (por exemplo, MyNamespace.MyClass.resources) do código gerado. No entanto, o Resgen. exe (gerador do arquivo de recurso) ferramenta permite que você especifique as opções que produzem um .resources arquivo com nome incompatível. Para contornar esse comportamento, renomeie os arquivos de saída-nomeado após a Resgen. exe (gerador do arquivo de recurso) ferramenta gera-los.
Quando tiver terminado de criar arquivos. Resources com Resgen. exe, use o O vinculador do Assembly (Al.exe) para incorporar os recursos em um executável binário de tempo de execução ou compilá-los em assemblies satélites.
Observação
Se Resgen. exe falhar por algum motivo, o valor de retorno será – 1.
Observação
Resgen. exe não aceita um nome de arquivo. resx que contenha espaços ao gerar uma classe de recurso fortemente tipado.Ele substitui todos os caracteres inválidos com um sublinhado ("_").Para obter mais informações, consulte VerifyResourceName.
O comando a seguir, com nenhuma opção especificada, exibe a sintaxe de comando e opções para Resgen. exe.
resgen
O comando a seguir lê os pares nome/valor em myResources.txt e grava um arquivo binário recursos chamado myResources.resources. porque o nome do arquivo de saída não for especificado explicitamente, ele recebe o mesmo nome que o arquivo de entrada por padrão.
resgen myResources.txt
O comando a seguir lê os pares nome/valor em myResources.restext e grava um arquivo binário recursos chamado yourResources.resources.
resgen myResources.restext yourResources.resources
O comando a seguir lê um arquivo baseado em XML de entrada myResources.resx e grava um arquivo binário recursos chamado myResources.resources.
resgen myResources.resx myResources.resources
O comando a seguir lê um arquivo de recursos binário myResources.resources e grava um arquivo de saída com base em XML chamado myResources.resx.
resgen myResources.resources myResources.resx
Os comandos a seguir lê um arquivo de entrada com base em XML chamado myResources.resx e gravar arquivos de texto chamados myResources.txt e myResources.restext, respectivamente. Observe que se o arquivo. resx contém todos os objetos incorporados, elas não serão precisamente convertidas em arquivos de texto.
resgen myResources.resx myResources.txt
resgen myResources.resx myResources.restext
O comando a seguir lê um arquivo baseado em XML de entrada myResources.resx e grava um arquivo binário recursos chamado myResources.resources. Ele também gera um arquivo de Visual Basic chamado MyFile.vb com uma classe chamada MyClass que contém propriedades de rigidez de tipos que coincidam com os recursos que são referenciados no arquivo de entrada. O MyClass classe está contida em um namespace chamado Namespace1.
resgen myResources.resx myResources.resources /str:C#,Namespace1,MyClass,MyFile.cs