Buduję witrynę ASP.NET MVC 4 z C#. Lokalizuję wszystkie moje ciągi statyczne w pliku zasobów (.resx
). Używam interfejsu Visual Studio do tworzenia i zapełniania pliku zasobów. W moim index.cshtml
widzenia, staram się użyć jednego z ciągów z pliku zasobów, takich jak to:Niedostępne, wewnętrzne, pliki zasobów?
@using Namespace.To.RESX.File
...
<h1>@EN_US.GLOBAL_NAME</h1>
<h2>“@EN_US.GLOBAL_SLOGAN”</h2>
...
mogę skompilować aplikację, ale pojawia się błąd wykonania kiedy załadować stronę, mówiąc:
Compiler Error Message: CS0122: 'Namespace.To.RESX.File.EN_US' is inaccessible due to its protection level
Przeglądając plik projektanta resx, widzę klasę i wszyscy jej członkowie są oznaczeni jako internal
. Zupełnie rozumiem, co robią modyfikatory kontroli dostępu C#, jak działają, itp ... ale nie rozumiem, dlaczego Visual Studio ograniczyłoby dostęp do takich elementów zasobów jak ten.
Dlaczego Visual Studio to zrobi? Czy istnieje (łatwy) sposób zmiany tych modyfikatorów kontroli dostępu lub czy całkowicie brakuje mi punktu plików zasobów?