Existe uma maneira de fazer Fortemente arquivos públicos Typed Resource (em oposição a interno)?

StackOverflow https://stackoverflow.com/questions/140937

Pergunta

Aqui está o que eu gostaria de fazer:

Eu quero criar um projeto de biblioteca que contém meus arquivos de recursos (ou seja, etiquetas de interface do usuário e outros enfeites). Eu gostaria de, em seguida, usar a biblioteca de recursos tanto em minha UI e em meus testes. (Isto é, basicamente, ter um lugar comum para os meus recursos que fazem referência a partir de vários projetos.)

Infelizmente, porque o StronglyTypedResourceBuilder (a classe Net que gera o código para recursos) faz arquivos de recursos internos, por padrão, não posso referenciar os meus recursos fortemente tipificados na biblioteca de outro projeto (ou seja, a minha UI ou testes) , sem saltar através de aros (ou seja, algo semelhante ao que é descrito aqui , ou escrevendo uma classe / função wrapper público).

Infelizmente, ambas as soluções remover a minha capacidade de manter as referências fortemente tipado.

Alguém já encontrou uma maneira simples e direta para criar recursos .Net rigidez que podem ser referenciados a partir de vários projetos?

Eu prefiro evitar ter que usar um evento de compilação, a fim de alcançar este objetivo (ou seja, fazer algo como substituir todas as ocorrências de 'interno' com o 'público', mas isso é basicamente o meu plano queda-back se eu puder 't encontrar uma resposta ..

Foi útil?

Solução

Não tenho certeza qual versão do Visual Studio que você está usando, por isso vou colocar passos para qualquer um:

VS 2008 - Quando você abre o arquivo resx no modo de design, há uma opção no topo ao lado de Adicionar Recursos e remover recursos, chamado Access modificador, é um drop-down onde você pode alterar o código gerado a partir interna para público .

VS 2005 - Você não tem a opção de gerar o código como no VS 2008. Foi um recurso que foi adicionado, por causa desta dor de cabeça. Há embora o trabalho de volta. Você pode usar um gerador de terceiros como este ferramenta ou você poderia usar o href="http://msdn.microsoft.com/en-us/library/system.runtime.compilerservices.internalsvisibletoattribute.aspx" rel="noreferrer"> InternalsVisibleTo atributo

Outras dicas

Desde o designer de conjunto de dados e com a janela de propriedades visível, há um "modificador" propriedade. Para seus conjuntos de dados, é provável dizendo interno.

Eu não sei se existe um ajuste para o padrão todos os novos conjuntos de dados a público.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top