Pergunta

No Visual C # 2008, eu tenho uma solução com dois projetos.

Primeiro projeto contém Form1 que exibe uma etiqueta com o conjunto do texto para uma string de Properties.Resources, como este:

label1.Text = Properties.Resources.MY_TEXT;

No segundo projeto, eu "Adicionar como link" este Form1 do primeiro projeto. Quero mostrar esta forma, por isso, ele exibe a mesma de quando chamado a partir do primeiro projeto. Ele deve mostrar uma etiqueta com Properties.Resources.MY_TEXT texto definido no primeiro projeto.

Unfornately, o segundo projecto não constrói com a seguinte mensagem de erro:. "O nome 'Propriedades' não existe no contexto atual"

Existe alguma maneira como resolver isso? Eu tentei "Adicionar como link" o arquivo "Resources.resx" do primeiro projeto, mas isso não ajuda.

EDIT: Descobri que se eu adicionar Projeto1 como referência no Project2, tudo funciona. Eu também tive que mudar Acesso modificador na recursos Projeto1 de interno para Pública. É este o caminho certo?

Obrigado, Petr

Foi útil?

Solução

Sim, isso é a abordagem correta (referência a um projeto de outro). Um padrão que você pode gostar de aplicar é ter um projeto que tem todos os seus referência / pesquisa / configurações nele. Então você não precisa trabalhar com dependências entre seus projetos de interface do usuário.

A sua abordagem de tornar público os recursos é a correta.

Você também perguntou sobre a combinação de montagens. Dê uma olhada na ILMerge ferramenta .

Outras dicas

Você deve adicionar "usando MyOtherProjectNamespace" para que você possa acessar suas propriedades

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