Использование Lightswitch с моим собственным объектом Domain: отсутствует ссылка - PullRequest
1 голос
/ 14 июля 2011

Я работаю над приложением asp.net. У меня есть сборка домена (содержащая в основном код команды и запросов), сборка Domain.Contract (содержащая в основном объекты домена), репозиторий (называемый доменом) и веб-сайт.

Для некоторых конкретных потребностей backoffice я хочу создать приложение Lightswitch. Я хочу использовать свой текущий домен в качестве источника данных. Я добавил библиотеку класса службы WCF Ria и в проекте RiaService.Web добавил класс, основанный на DomainService, с одним методом запроса. Ничего больше (нет сущностей, так как они находятся в моей сборке Domain.Contract)

С помощью справки отсюда (спасибо Майклу У) я смог добавить источник данных и распознать объект своего домена как объект в выключателе света.

Но теперь у меня есть ошибка компиляции: «Тип или имя пространства имен« MyDomain »не может быть найден в глобальном пространстве имен (вам не хватает ссылки на сборку?)» В проекте ServerGenerated.

Конкретная ошибка в этой строке: global :: Domain.Contract.MyObject result = new global :: Domain.Contract.MyObject (); который входит в мои доменные объекты (созданные в моей сборке Domain.Contract).

Так что, похоже, единственное, что мне нужно сделать, это добавить ссылку do Domain.contract в проект ServerGenerated.

Но он не отображается в Visual Studio. Добавление моей ссылки на серверный проект не исправляет ошибку.

Спасибо.

Ответы [ 2 ]

1 голос
/ 14 июля 2011

В окнах обозревателя решений выберите сборку ServerGenerated и нажмите кнопку «показать все файлы». Это покажет все скрытые папки - включая сгенерированный код клиента для WCF Ria.

Если нет сгенерированного кода, это означает, что либо с реализацией сервиса либо что-то не так (как правило, вы получите ошибку компиляции), либо с сервисом что-то не так - например, отсутствует атрибут [EnableClientAccess] (я точно знаю что служба без этого атрибута не генерирует код клиента).

Другие вещи, которые нужно проверить, это включить сборку ria на стороне сервера в ваш хост-проект + иметь правильную конфигурацию для ria WCF в файле .config (спросите Google).

0 голосов
/ 09 августа 2011

В окнах обозревателя решений выберите проект и нажмите кнопку «Показать все файлы», а также выберите «представление файла» (не логическое представление).

Затем добавьте ссылку на проект "ServerGenerated" (не серверный проект)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...