Мне трудно создавать аннотации локализованных данных в приложении Azure / RIA / Silverlight.
Вот что у меня есть и что я сделал до сих пор:
- У меня есть базовый проект, который содержит модель данных, а также некоторые глобальные константы, которые мы используем во всем решении. Пространство имен
GOLTracker.Base
.
- Здесь я разместил
.resx
и определил базовую информацию для отображения для одного из классов.
Вот фрагмент кода, который определяет один из классов и использует файл ресурсов:
public partial class Vehicle : TableEntity
{
[Required]
[Bindable(true, BindingDirection.TwoWay)]
[Display(Name = "VehicleNameLabel", Description = "VehicleNameDescription", ResourceType = typeof(DisplayResources))]
public string Name { get; set; }
(...)
}
- Второй - это мой
GOLTracker.Role
проект, который играет главную роль в Azure. Он содержит веб-страницу, на которой размещено приложение Silverlight. Здесь нет ресурсов. Он также содержит класс BoardDomainService
с запросами, используемыми для получения данных.
- Наконец, есть два приложения Silverlight в
GOLTracker.Board.
: Gui
и MapControlGui
. Оба используют модель данных. В обоих приложениях я добавил ссылки на файлы ресурсов (как .resx
, так и .cs
).
Кроме того, я отредактировал файлы проекта Silverlight для включения информации о локализации:
<SupportedCultures>
en-US;pl-PL
</SupportedCultures>
Все компилируется правильно. Однако, когда я пытаюсь открыть страницу в любом приложении Silverlight, использующем класс Vehicle
, я получаю следующее исключение:
Message: System.ServiceModel.DomainServices.Client.DomainException: An error occurred
while loading data through the 'GetVehicles' query on DomainContext of type
'BoardDomainContext' and the error was not handled. If this error is expected, then
you must handle the LoadedData event on the DomainDataSource and call
LoadedDataEventArgs.MarkErrorAsHandled() to avoid this exception.
Exception has been thrown by the target of an invocation. --->
System.Reflection.TargetInvocationException: Exception has been thrown by the target
of an invocation. ---> System.Resources.MissingManifestResourceException: Could not
find any resources appropriate for the specified culture or the neutral culture. Make
sure "ARP.GOLTracker.Base.Resources.DisplayResources.resources" was correctly embedded
or linked into assembly "ARP.GOLTracker.Board.MapControlGui" at compile time, or that
all the satellite assemblies required are loadable and fully signed.
Если честно, я не знаю, в чем причина; связанные .resx
файлы являются встроенными ресурсами, как и должно быть. Я не знаю, чего еще не хватает.
Пожалуйста, помогите.