Проблемы с файлами ресурсов в ASP.NET MVC 3
У меня странная проблема с файлами ресурсов. Странно, потому что он работал отлично. Ну, у меня есть несколько файлов ресурсов. Я создал папку "Ресурсы" в моей структуре проекта asp.net mvc 3, и я отражаю структуру папок представлений. На данный момент у меня есть:
Views
Shared
_Layout.cshtml
Resources
Shared
Layout.pt-BR.resx
Layout.en-US.resx
Layout.ko-KR.resx
Все файлы ресурсов настроены как встроенный ресурс, PublicResXFileCodeGenerator и с пространством имен настраиваемых инструментов "ViewRes". Все файлы ".Designer.cs" пусты. Я помню, как видел в них код, когда он работал.
В моем файле.csproj у меня есть эти данные:
<ItemGroup>
<EmbeddedResource Include="Resources\Shared\Layout.en-US.resx">
<SubType>Designer</SubType>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Layout.en-US.Designer.cs</LastGenOutput>
<CustomToolNamespace>ViewRes</CustomToolNamespace>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Shared\Layout.ko-KR.resx">
<SubType>Designer</SubType>
<Generator>PublicResXFileCodeGenerator</Generator>
<CustomToolNamespace>ViewRes</CustomToolNamespace>
<LastGenOutput>Layout.ko-KR.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Shared\Layout.pt-BR.resx">
<SubType>Designer</SubType>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Layout.pt-BR.Designer.cs</LastGenOutput>
<CustomToolNamespace>ViewRes</CustomToolNamespace>
</EmbeddedResource>
</ItemGroup>
Проблема в том, что: когда я пытаюсь получить доступ к @ViewRes в моих представлениях, он не распознается. Я уже пытался удалить пространство имен пользовательского инструмента, но @Resource тоже не распознается. В обеих ситуациях я получил эту ошибку компиляции:
Compiler Error Message: CS0103: The name 'ViewRes' does not exist in the current context
У кого-нибудь есть идеи? Спасибо Пауло
РЕДАКТИРОВАТЬ: НОВАЯ ИНФОРМАЦИЯ
Я создал глобальный файл Resources.resx в меню свойств проекта в VS2010, и он работает с пользовательскими пространствами имен, которые я ввел. Пространство имен "Ресурсы" все еще не работает. Я думаю, что проблема с локальными файлами ресурсов. К сожалению, они мне нужны, потому что я не могу переименовать файл global resources.resx, включая код культуры.
РЕДАКТИРОВАТЬ 2 Я создал новый файл.resx в папке ресурсов, и я вижу, что имя файла не может иметь 2 ".". Это имя Resources.resx, это работает. Если имя - Resource-en-US.resx, оно работает, но, если имя - Resources.en-US.resx, это не удастся!
1 ответ
Я думаю, что вы также можете написать собственный помощник, который будет возвращать путем отражения строки.