Solução com 2 projetos - compartilhando Properties.Resources
-
08-07-2019 - |
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
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