Aby móc korzystać z GetGlobalResourceObject()
w Visual Studio 2008, należy skopiować plik .resx do folderu App_GlobalResources of Visual Studio. Po wstępnej kompilacji aplikacji pliki zasobów są kompilowane do odpowiednich zestawów satelitów i rozmieszczone w folderze \bin\
według nazw kultur. Wszystko działa dobrze.Dodaj zestaw satelitarny w wstępnie skompilowanej wdrożonej witrynie internetowej
Nie mogę jednak dodawać nowych zestawów satelitarnych po wstępnej kompilacji aplikacji. Co zrobiłem było:
Utworzono zespół satelita:
resgen resources.applicationresources.es-ES.resx resources.applicationresources.es-ES.resources al/t: lib/kultura : es-ES /embed:resources.applicationresources.es-ES.resources /out:App_GlobalResources.resources.dll
Utworzono folder
\bin\es-ES\
i wdrożono tam plik .dll.
Niestety, nowo dodany montaż satelita nie jest rozpoznawany przez GetGlobalResourceObject()
, który wraca do domyślnego (angielski) zasobu. Wygląda na to, że plik zasobów nie zawiera żadnych błędów, ponieważ po skopiowaniu tego samego pliku .resx do App_GlobalResources
, a następnie skompilowaniu aplikacji, wszystko działa dobrze.
Czego mi brakuje? BTW moim typem projektu jest strona internetowa, a nie projekt aplikacji WWW.
Czy kiedykolwiek znalazłeś rozwiązanie tego problemu? – splattne
Obecnie bardzo utknąłem z tym sam. – Mig
Problem w naszym przypadku polegał na tym, że podczas generowania złożeń satelitarnych za pomocą funkcji resgen ścieżka obszaru nazw była niepoprawna. Dubugowaliśmy wygenerowany plik dll satelity przy użyciu ILDASM, więc poprawiliśmy go i ponownie zainstalowaliśmy. – ksa