Partilhar via


Recurso arquivo gerador (Resgen.exe)

O arquivo de recurso gerador converte arquivos de texto (.txt ou .restext) e arquivos de formato (.resx) de recursos com base em XML comum linguagem tempo de execução binário (.resources) arquivos 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 arquivos .Recursos ou .resx.

    ObservaçãoObservação:

    A. restext extensão foi introduzida no .NET estrutura versão 2.0. O formato da. restext arquivos é idêntico ao formato de arquivos .txt . H owever , a. restext extensão ajuda a identificar arquivos de texto que contêm recurso definições mais facilmente.

  • Converte arquivos .Recursos arquivos .resx ou de texto.

  • Converte arquivos .resx em arquivos .Recursos ou de texto.

resgen [parameters] [/compile]filename.extension [outputFilename.extension] [/str:lang[,namespace[,class[,file]]]]

Parâmetros

Argumento

Descrição

filename.extension

O nome do arquivo de entrada para converter. The extension deve ser um destes procedimentos:

.txt ou .restext

Especifica a extensão para um arquivo de texto para converter um .Recursos ou um arquivo .resx. Arquivos de texto só podem conter recursos de seqüência de caracteres.

.resx

Especifica a extensão para um arquivo de recurso com base em XML converter um .Recursos ou um arquivo de texto (.txt ou .restext).

.resources

Especifica a extensão de um arquivo de recurso Converter um .resx ou um arquivo de texto (.txt ou .restext).

outputFilename.extension

O nome do arquivo de recurso para criar.

Esse argumento é opcional durante a conversão de um arquivo .txt, .restext ou .resx. Você pode especificar a extensão .Recursos ao converter um arquivo de texto ou .resx em um arquivo .Recursos. If you do not specify an outputFilename, Resgen.exe appends a .resources extension to the input filenameargument and writes the file to the directory that contains filename.

The outputFilename argumento é obrigatório ao converter de um arquivo .Recursos. Especifique a extensão .resx ao converter um arquivo .Recursos em um arquivo de recurso com base em XML. Especifique a extensão .txt ou .restext ao converter um arquivo .Recursos em um arquivo de texto. Você só deve converter um arquivo .Recursos em um arquivo .txt quando o arquivo .Recursos 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 em vários arquivos .Recursos em uma operação em massa único. Se você não especificar esta opção, você pode especificar o argumento de apenas um arquivo de entrada.

Essa opção não pode ser usada com o /str: opção.

/publicClass

Cria um fortemente tipados recurso classe sistema autônomo uma classe pública.

Essa opção será ignorada se a /str: opção não for usada.

/r:assembly

Especifica que tipos devem ser carregados de assembly. Se você especificar esta opção, um arquivo .resx com uma versão anterior de um tipo utilizará o tipo assembly.

/str:language[,namespace[,classname[,filename]]]

Cria um arquivo de classe strongly typed Resources na linguagem de programação (cs ou translation from VPE for Csharp translation from VPE for Csharp, vb ou visualbasic para Visual Basic) especificada em de language opção. Você pode usar o namespace opção para especificar o espaço para nome padrão do projeto, 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çãoObservação:
No .NET estrutura versão 2.0, classname e filename são ignoradas se namespace não foi especificado.

Somente um arquivo de entrada é permitido quando o /str: opção é usada, portanto não pode ser usado com o /compile opção.

If namespace for especificado, mas classname Não, é o nome de classe é derivado do nome de arquivo de saída (por exemplo, sublinhados são substituídos por períodos longos). sistema autônomo recursos com rigidez de tipos podem não funcionar corretamente sistema autônomo resultado. Para evitar isso, especifique o nome de classe e nome de arquivo de saída.

/usesourcepath

Especifica que a pasta corrente do arquivo entrada a ser usado para resolver os caminhos de arquivo relativo.

Comentários

Resgen.exe converte arquivos envolvendo os métodos implementados por quatro classes a seguir:

Observe que um arquivo .resx criados pelo ResXResourceWriter classe não pode ser usada diretamente por um aplicativo .NET estrutura. Antes de adicionar este arquivo ao seu aplicativo, execute-o por meio de Resgen.exe para convertê-lo em um arquivo .Recursos. Para obter mais informações sobre como implementar essas classes em seu código, consulte os tópicos de referência respectivos.

A fim de Resgen.exe poder analisar sua entrada, é importante que os arquivos de texto e .resx siga o formato correto.

Arquivos de texto (.txt ou .restext) só podem conter recursos de seqüência de caracteres. Recursos de seqüência de caracteres são úteis se você estiver escrevendo um aplicativo que deve ter seqüências traduzidas em vários idiomas. Por exemplo, você pode com com facilidade regionalizar seqüências de caracteres de menu usando o recurso de cadeia de caracteres apropriada. Resgen.exe lê arquivos de texto que contém pares nome/valor, onde o nome é uma seqüência de caracteres que descreve o recurso e o valor é a seqüência de recurso propriamente dito. Você deve especificar cada emparelhar nome/valor em uma linha separada da seguinte maneira:

name=value

Observe que cadeias de caracteres vazias são permitidas em arquivos de texto. Por exemplo:

EmptyString=

Um arquivo de texto deve ser salvo com UTF-8 ou codificação, a menos que ele contém somente caracteres do alfabeto romano simples, sem sinais diacríticos sistema autônomo o til, cedilha ou trema Unicode. Por exemplo, Resgen.exe remove os caracteres ANSI quando processa um arquivo de texto que não tenha o UTF-8 ou codificação Unicode.

Resgen.exe verifica o arquivo de texto para a duplicata recurso nomes. Se o arquivo de texto contém nomes de recursos duplicados, Resgen.exe irá emitir um aviso e ignorar 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 .resx recurso consiste em entradas XML. Você pode especificar recursos de seqüência de caracteres dentro dessas entradas XML, sistema autônomo faria em arquivos de texto. Uma vantagem principal dos arquivos .resx sobre arquivos de texto é 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ções binárias faz parte do manifesto do recurso. Assim sistema autônomo com sistema autônomo arquivos de texto, você pode em em aberto um arquivo .resx em um editor de textos (sistema autônomo o bloco de notas ou o Microsoft palavra) e escrever, analisar e manipular o Sumário. Observe que para fazer isso, um mercadoria conhecimento de Rótulos XML e a estrutura do arquivo .resx é necessário. Para obter mais detalhes sobre o formato de arquivo .resx, consulte Recursos no formato de arquivo .resx.

Para criar um arquivo .resources contendo objetos nonstring incorporado, você deve usar Resgen.exe para converter um arquivo .resx que contém objetos ou adicionar os recursos do objeto a 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 em um arquivo de texto, todos sistema autônomo recursos de seqüência de caracteres serão convertidos corretamente, mas sistema autônomo tipos de dados de objetos nonstring também irão ser gravados no arquivo sistema autônomo seqüências de caracteres. Você perderá objetos incorporados na conversão e Resgen.exe informará que ocorreu um erro na recuperação de recursos.

O .NET estrutura versão 2.0 oferece suporte a recursos fortemente tipados. Suporte a recurso fortemente tipado encapsula o acesso aos recursos criando classes que contêm um conjunto de estática somente leitura (get) propriedades, proporcionando uma maneira alternativa para consumir recursos, em vez de usar os métodos das ResourceManager classe diretamente. A funcionalidade básica é fornecida pelo /str opção de linha de comando em Resgen.exe, que encapsula a funcionalidade dos StronglyTypedResourceBuilder classe. Quando você especifica o /str opção, a saída do Resgen.exe é uma classe que contém propriedades com fortemente tipado que coincidem com os recursos que são referenciados no parâmetro de entrada. Essa classe fornece acesso de somente leitura com fortemente tipado para os recursos que estão disponível no arquivo processado.

The Recurso arquivo gerador (Resgen.exe) a ferramenta permite que você criar .resources arquivos, bem sistema autônomo de wrappers com rigidez de tipos para acessar sistema autônomo .resources arquivos. Quando você cria um wrapper com rigidez de tipos, o nome do seu .resources arquivo deve corresponder ao nome do namespace e classe (por exemplo, MyNamespace.MyClass.resources) do código gerado. No entanto, a Recurso arquivo gerador (Resgen.exe) a ferramenta permite que você especifique as opções que produzem um .resources arquivo com um nome incompatível. Para contornar esse comportamento, renomeie incompatibly chamada arquivos de saída após o Recurso arquivo gerador (Resgen.exe) ferramenta gera-los.

Ao terminar de criar arquivos .resources com Resgen.exe, use o Vinculador de 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çãoObservação:

Se Resgen.exe falhar por algum motivo, o valor retornado será – 1.

ObservaçãoObservação:

Resgen.exe não aceita um. resx nome de arquivo 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.

Exemplos

O comando a seguir, sem opções especificado, exibe a sintaxe de comando e opções para Resgen.exe.

resgen

O comando a seguir lê pares nome/valor em myResources.txt e grava um arquivo de recursos binário nomeado myResources.resources. Because the output file name is not specified explicitly, it receives the same name as the input file by default.

resgen myResources.txt 

O comando a seguir lê pares nome/valor em myResources.restext e grava um arquivo de recursos binário nomeado yourResources.resources.

resgen myResources.restext yourResources.resources

O comando a seguir lê um arquivo de entrada com base em XML myResources.resx e grava um arquivo de recursos binário nomeado myResources.resources.

resgen myResources.resx myResources.resources

O comando a seguir lê um arquivo de recursos binário myResources.resources e gravações em um XML arquivo de saída nomeado myResources.resx.

resgen myResources.resources myResources.resx

Os seguintes comandos ler 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 contiver quaisquer objetos incorporados, elas serão não com precisão convertidas em arquivos de texto.

resgen myResources.resx myResources.txt
resgen myResources.resx myResources.restext

O comando a seguir lê um arquivo de entrada com base em XML myResources.resx e grava um arquivo de recursos binário nomeado myResources.resources. Ele também gera um arquivo Visual Basic chamado MyFile.vb com uma classe chamada MyClass que contém propriedades com fortemente tipado que coincidem com os recursos referenciados no arquivo de entrada. The MyClass classe está contida em um namespace chamado Namespace1.

resgen myResources.resx myResources.resources /str:C#,Namespace1,MyClass,MyFile.cs

Consulte também

Conceitos

Recursos em aplicativos

Referência

Ferramentas.NET Framework

System.Resources.Tools

Vinculador do conjunto (AL.exe) 

Prompt de comando SDK 

Outros recursos

Codificação e localização