Как установить Contract-First Tool в VisualStudio 2012
У меня VisualStudio 2012, и я пытаюсь следовать следующему учебнику http://msdn.microsoft.com/en-us/library/hh674270.aspx
Но я не смог найти опцию " Определение схемы" на панели WCF диалога "Шаблоны".
Нужно ли что-то устанавливать? Что бы это было? Возможно, расширение?
Заранее спасибо.
3 ответа
Вам не нужно устанавливать его - он уже там. Что может вас удивить, так это то, что он доступен только в шаблоне "Библиотека служб WCF".
После добавления файла схемы, как показано:
Затем вы получаете дополнительную опцию в свойствах проекта:
Я хочу добавить свои выводы.
Я тоже хотел использовать инструмент Contract-First и не нашел настройки, упомянутой в ссылке msdn.
Однако я узнал, как добавить его к любому типу проекта, так как я хотел, чтобы мои службы, размещенные на iis, сначала также использовали контракт.
Что вы делаете, так это создаете "Библиотеку услуг WCF", как упоминалось выше.
Затем откройте csproj-файл для проекта в текстовом редакторе.
Затем скопируйте и вставьте записи, которые выглядят примерно так, в другой файл проекта.
<FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
<WcfProjectProperties>
<AutoStart>True</AutoStart>
</WcfProjectProperties>
</FlavorProperties>
Также вам нужно изменить guid:s в целевом проекте на что-то вроде этого:
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
Тег FlavorProperties с его направляющими взят из vs2012 update 3, поэтому он может измениться в будущем.
Таким образом, с помощью этого хака вы можете развернуть контрактные сервисы непосредственно в iis.
Вопрос, однако, в том, почему это не работало так из коробки в visual studio 2012
Вам не нужно добавлять XSD из панели WCF, просто возьмите элемент схемы XML из панели данных.
Если в VS 2012 включен параметр "Включить XSD в качестве языка определения типа", он будет генерировать типы в пространстве имен вашего решения + ".ContractTypes".
Проверьте выходные окна, чтобы увидеть, что делает процесс сборки с XSD.