Recursos globais não podem ser resolvidos após a publicação do site em VS2008
-
21-08-2019 - |
Pergunta
Eu tenho um projeto web rodando em VS 2008. Nós temos alguns arquivos de recursos globais (* .resx) nos App_GlobalResources pasta para a internacionalização. Tudo isso funciona como um encanto no meu instalação do IIS local fora do VS.
Mas quando eu publicar meu-projeto web para o sistema de arquivos local e / ou outro servidor, todos os recursos não podem mais ser encontrados. Então eu acho que a pré-compilação é de alguma forma corrompendo coisas. Quando eu chamar o web pré-compilada, eu recebo um erro que o objeto de recurso com xyz chave não pode ser encontrado, embora poderia ser encontrado antes.
Eu verifiquei com .NET reflector se o material de recursos tornou nos * .dlls. Todos esses identificadores estão lá (bin / Web.dll, bin /
<asp:MenuItem NavigateUrl="~/OrderNew.aspx" Text="<%$ Resources:MyProject, MenuNewOrder %>" Value="NewOrder">
Os arquivos de recursos são chamados MyProject.resx e MyProject.
Alguma idéia de como resolver isso?
Eu realmente aprecio qualquer ajuda.
Graças
Editar:
Se eu copiar os App_GlobalResources pasta manualmente para a saída, os recursos podem ser carregados normalmente. Então, eu realmente saber o que este pré-compilação é tudo.
Ainda estou interessado em resolver a questão "o caminho certo".
Solução
Eu tive o mesmo problema e teve que fazer duas mudanças para as propriedades do arquivo resx.
- Defina o "Build Action" para conteúdo
- Defina o "Copy to Output Directory" para copiar sempre
Outras dicas
(Eu não posso comentar sobre a resposta anterior ... nenhuma reputação ainda ...?)
Isto não resolver o meu problema, eu tenho medo.
Ao tentar a solução "Conteúdo / Copy Always" eu recebo uma exceção dizendo que a ligação em tempo de compilação não funcionou.
Por que a necessidade asp.net o arquivo resx quando os recursos são compilados no!?
Eu tive esse erro ao copiar um arquivo de recurso de outro projeto.
Eu resolvi isso excluindo o recurso global, adicionando um novo recurso e copiar os elementos data
da antiga para a nova XML.
Isso resulta nas seguintes configurações para o recurso:
<ItemGroup>
<Content Include="App_GlobalResources\Global.resx">
<Generator>GlobalResourceProxyGenerator</Generator>
<LastGenOutput>Global.Designer.cs</LastGenOutput>
</Content>
</ItemGroup>
Eu tive o mesmo problema. Sempre que eu publiquei meu aplicativo para o Small Business Server (SBS2008) ele ficou preso na linha nome do controle, mas na verdade na meta: parte resourcekey dele. Não da solução acima indicado me helpd.
Eu passei seis horas descobrir isso, finalmente percebi que este happend quando eu fiz alguma cleenup pasta no servidor. Nos begning todos os meus aplicativos foi localizado em E:. Em suas pastas, mas, em seguida, eu criei pastas com nomes que indicam a aplicativos applicationPools e eu mover aplicativos coresponding há
Eu não sei como IIS7 no meu SBS procurando arquivos de recursos, mas definitivamente este foi o problema. Quando eu voltar com os meus aplicativos para E:. Novamente tudo começou a trabalhar como um encanto