Tarefa de GenerateResource
Converte entre. txt e arquivos. resx (formato de recurso baseado em XML) e arquivos de binários. Resources comuns 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. Esta tarefa é normalmente usada para converter arquivos. txt ou. resx. Resource arquivos. O GenerateResource tarefa é funcionalmente semelhante a Resgen. exe.
Parâmetros
A tabela a seguir descreve os parâmetros da GenerateResource de tarefas.
Parâmetro |
Descrição |
---|---|
AdditionalInputs |
Opcional ITaskItem[] parâmetro. Contém entradas adicionais para verificação de dependência feito por esta tarefa. Por exemplo, os arquivos de projeto e destinos normalmente devem ser entradas, para que se eles forem atualizados, todos os recursos são regenerados. |
EnvironmentVariables |
Opcional String[] parâmetro. Especifica uma matriz de pares de nome-valor de variáveis que devem ser passadas para o Resgen. exe gerado, além dos ambiente (ou substituindo seletivamente) o bloco de ambiente regular. |
ExcludedInputPaths |
Opcional ITaskItem[] parâmetro. Especifica uma matriz dos itens que especificam os caminhos do qual as entradas controladas serão ignoradas durante a verificação atualizado. |
ExecuteAsTool |
Opcional Boolean parâmetro. Se true, que executa o Tlbimp. exe e aximp. exe a partir do destino apropriado framework fora do processo para gerar assemblies de invólucro necessários. Esse parâmetro permite multi-direcionamento de ResolveComReferences. |
FilesWritten |
Opcional ITaskItem[] parâmetro de saída. Contém os nomes de todos os arquivos gravados em disco. Isso inclui o arquivo de cache, se houver. Este parâmetro é útil para implementações de limpar. |
MinimalRebuildFromTracking |
Opcional Boolean parâmetro. Obtém ou define uma opção que especifica se controladas compilação incremental será usada. Se true, compilação incremental é ativada; Caso contrário, será forçada uma recompilação. |
NeverLockTypeAssemblies |
Opcional Boolean parâmetro. Especifica o nome dos arquivos gerados, como, por exemplo, arquivos. Resources. Se você não especificar um nome, o nome do arquivo de entrada correspondente é usado e o arquivo. resources criado é colocado no diretório que contém o arquivo de entrada. |
OutputResources |
Opcional ITaskItem[] parâmetro de saída. Especifica o nome dos arquivos gerados, como, por exemplo, arquivos. Resources. Se você não especificar um nome, o nome do arquivo de entrada correspondente é usado e o arquivo. resources criado é colocado no diretório que contém o arquivo de entrada. |
PublicClass |
Opcional Boolean parâmetro. Se true, cria uma classe de recurso fortemente tipado como uma classe de público. |
References |
Opcional String[] parâmetro. Referências ao carregar tipos de arquivos. resx do. Elementos de dados de arquivo resx podem ter um.Tipo de rede. Quando o arquivo. resx é lido, isso deve ser resolvido. Normalmente, ele é resolvido com êxito usando o tipo padrão de carregamento de regras. Se você fornecer os assemblies em References, elas terão precedência. Este parâmetro não é necessário para recursos fortemente tipados. |
SdkToolsPath |
Opcional String parâmetro. Especifica o caminho para as ferramentas do SDK, como, por exemplo, Resgen. exe. |
Sources |
Obrigatório ITaskItem[] parâmetro. Especifica os itens para converter. Os itens passados para este parâmetro devem ter uma das seguintes extensões de arquivo:
|
StateFile |
Opcional ITaskItem parâmetro. Especifica o caminho para um arquivo de cache opcional que é usado para acelerar a verificação de links em arquivos de entrada. resx de dependência. |
StronglyTypedClassName |
Opcional String parâmetro. Especifica o nome de classe para a classe strongly typed Resources. Se este parâmetro não for especificado, o nome de base do arquivo de recurso é usado. |
StronglyTypedFilename |
Opcional ITaskItem parâmetro. Especifica o nome do arquivo de origem. Se este parâmetro não for especificado, o nome da classe é usado como o nome de arquivo de base, com a extensão dependente de idioma. Por exemplo: MyClass.cs. |
StronglyTypedLanguage |
Opcional String parâmetro. Especifica o idioma a ser usado ao gerar a fonte de classe strongly typed Resources. Este parâmetro deve corresponder exatamente um dos idiomas usados pelo CodeDomProvider. Por exemplo: VB ou C#. Passando um valor para esse parâmetro, você pode instruir a tarefa para gerar recursos fortemente tipados. |
StronglyTypedManifestPrefix |
Opcional String parâmetro. Especifica o prefixo de namespace ou o manifesto do recurso para usar na fonte de classe gerada para o recurso fortemente tipado. |
StronglyTypedNamespace |
Opcional String parâmetro. Especifica o namespace a ser usado para a fonte da classe gerada para o recurso fortemente tipado. Se este parâmetro não for especificado, todos os recursos com rigidez de tipos estão no namespace global. |
TLogReadFiles |
Opcional ITaskItem[] parâmetro somente leitura. Obtém uma matriz dos itens que representam a leitura de logs de rastreamento. |
TLogWriteFiles |
Opcional ITaskItem[] parâmetro somente leitura. Obtém uma matriz de itens que representam a gravação de logs de rastreamento. |
ToolArchitecture |
Opcional [String] parâmetro. Usado para determinar se precisa ou não Tracker.exe a ser usado para gerar Resgen. exe. Deve ser analisável um membro da ExecutableType enumeração. Se String.Empty, usa uma heurística para determinar uma arquitetura de padrão. Deve ser analisável a um membro da enumeração Microsoft.Build.Utilities.ExecutableType. |
TrackerFrameworkPath |
Opcional [String] parâmetro. Especifica o caminho para o apropriado.Local do NET Framework que contém FileTracker.dll. Se o conjunto, o usuário assume a responsabilidade por certificando-se de que a verificação de bits com o FileTracker.dll que eles passam coincide com o número de bits do Resgen. exe que pretendem usar. Se não for definido, a tarefa decide o local apropriado com base na atual.NET Framework versão. |
TrackerLogDirectory |
Opcional [String] parâmetro. Especifica o diretório intermediário no qual os logs de rastreamento de executar esta tarefa serão colocados. |
TrackerSdkPath |
Opcional [String] parâmetro. Especifica o caminho para o local apropriado do SDK do Windows que contém Tracker.exe. Se o conjunto, o usuário assume a responsabilidade por certificando-se de que a verificação de bits com o Tracker.exe que eles passam coincide com o número de bits do Resgen. exe que pretendem usar. Se não for definido, a tarefa decide o local apropriado com base no SDK do Windows atual. |
TrackFileAccess |
Opcional [Boolean] parâmetro. Se verdadeiro, o diretório do arquivo de entrada é usado para resolver os caminhos de arquivo relativos. |
UseSourcePath |
Opcional Boolean parâmetro. Se true, especifica que o diretório do arquivo de entrada deve ser usado para resolver os caminhos de arquivo relativos. |
Comentários
Porque os arquivos. resx podem conter links para outros arquivos de recurso, não é suficiente simplesmente comparar carimbos de arquivo. resx e. Resource para ver se as saídas são atualizadas. Em vez disso, o GenerateResource tarefa seguirá os links nos arquivos. resx e verifica os carimbos de hora dos arquivos vinculados, como bem. Isso significa que você não deve geralmente usar Inputs e Outputs atributos no destino que contém o GenerateResource tarefa, como isso pode fazer com que ela seja ignorada quando deveria realmente executar.
Além de para os parâmetros listados acima, esta tarefa herda os parâmetros da TaskExtension , a própria classe herda o Task classe. Para obter uma lista desses parâmetros adicionais e suas descrições, consulte Classe Base de TaskExtension.
Ao usar o MSBuild 4.0 para o destino.NET 3.5 projetos, a compilação pode falhar em x86 recursos. Para contornar esse problema, você pode construir o destino como um assembly Qualquer_cpu.
Exemplo
O exemplo a seguir usa a GenerateResource para gerar arquivos. Resources dos arquivos especificados pelo Resx item coleção.
<GenerateResource
Sources="@(Resx)"
OutputResources="@(Resx->'$(IntermediateOutputPath)%(Identity).resources')">
<Output
TaskParameter="OutputResources"
ItemName="Resources"/>
</GenerateResource>
O GenerateResource tarefa utiliza <LogicalName> metadados de <EmbeddedResource> item para o recurso que está incorporado em um assembly de nome.
Supondo que o assembly chamado myAssembly, o código a seguir gera um recurso incorporado chamado someQualifier.someResource.resources:
<ItemGroup> <EmbeddedResource Include="myResource.resx"> <LogicalName>someQualifier.someResource.resources</LogicalName> </EmbeddedResource></ItemGroup>
Sem <LogicalName> metadados, o recurso seria nomeado myAssembly.myResource.resources. Este exemplo aplica-se somente para o processo de compilação de Visual Basic e C# Visual.