2015-03-19 3 views
1

В некоторых проектах, когда я добавляю ссылку на службу к службе WCF, она создает файлы данных для классов, общих в общей библиотеке классов, однако в других источниках данных не создаются , Файл Reference.cs отличается тем, что в первом случае типы из библиотеки классов, а во втором - в файле Reference.cs. Они несовместимы.Добавление ссылки на службу WCF не всегда создает файлы .datasource

Что это такое, что вызывает автоматическое создание файлов данных в этом случае? Расширенные параметры в диалоговом окне «Добавить ссылку на службу» идентичны, поэтому что-то еще должно играть в меня трюки.

ОБНОВЛЕНИЕ: Оказывает, что файлы источника данных не нужны. Это код, сгенерированный в файле Reference.cs, который делает всю разницу. Я могу вручную отредактировать параметры для того, чтобы методы указывали на библиотеку классов, и это работает. Это, конечно, не решение в конечном итоге, так как я должен делать это каждый раз, когда я обновляю Service Reference. Надеюсь, кто-то придет, кто знает о запуске этой проблемы.

+0

Вы хотите сказать, что ... Вы добавляете ссылку на сервисную службу WCF? Или вы добавляете свою службу WCF в качестве справочной службы в свой проект? Пожалуйста, покажите несколько примеров. –

+0

У меня есть библиотека классов, содержащая некоторые классы. Эти классы используются в качестве параметров и результатов службы WCF. При добавлении Service Reference в третий проект (все в том же решении), он иногда создает файлы .datasource в других случаях, когда это не так. Мне нужны файлы datasource и Reference.cs, чтобы использовать библиотеку классов, а не новые классы, созданные в Reference.cs. Я могу даже иметь две разные ссылки на службы в одном проекте, и для одного создаются источники данных, но не для другого. Интересно, что запускает VS для создания файлов .datasource в некоторых случаях, а не в других. – bleze

+0

Хорошо. Вы можете сделать следующее: ** Щелкните правой кнопкой мыши ссылку на сервисную ссылку **, затем ** нажмите «Настроить ссылку на службу» **, а затем ** снимите флажок «Типы повторного использования в проверенных сборках» **, затем нажмите «ОК». Надеюсь, что будет работать так, как вы ожидаете. –

ответ

0

Файл создан VS, когда вы добавляете ссылку на службу. Он используется для включения компонентов клиентского интерфейса для моделей (контрактов данных). Я не знаю, почему они не созданы для «всех» сервисов (но, я думаю, это зависит от того, как эта служба определяет и использует контракты данных (как в: без файла данных без контракта)).

Вот некоторые полезные ссылки: https://msdn.microsoft.com/en-us/library/ee373840.aspx What are the WCF Service Reference .datasource files?

UPDATE: Вы правы, это не должно зависеть от потребленной службы. Вот два родственных связей (то impliece, что файлы включены VS): http://objectmix.com/dotnet/797048-wcf-service-reference-datasource-file-name-length-problem.html Disable automatic generation of datasources file when updating service references

Так выглядит файл создается VS, если вы не тусклый/нужно вы можете исключить его создание прокси с помощью svcutil.exe

+0

Служба не может быть проблемой, поскольку на некоторых клиентах файлы данных создаются, но не в других, для одной и той же службы. Мне нужно выяснить, что вызывает это создание. – bleze

+0

Комментарий к вашему обновлению: Дело в том, что VS не генерирует файлы в некоторых проектах/решениях. Я хочу этого. Использование идентичного подхода в разных проектах/решениях. – bleze