如何在Visual Studio 2012中安装Contract-First工具

时间:2013-01-17 18:26:23

标签: visual-studio-2012 xsd schema visual-studio-extensions contract-first

我有VisualStudio 2012,我正在尝试按照以下教程http://msdn.microsoft.com/en-us/library/hh674270.aspx

但是我无法从“模板”对话框的 WCF窗格中找到架构定义选项。

我必须安装一些东西吗?那会是什么?也许是一个延伸?

提前致谢。

3 个答案:

答案 0 :(得分:2)

你不需要安装它 - 它已经存在了。可能会让你感到惊讶的是它只能在“WCF服务库”模板中使用。

VS 2012 correct WCF project

然后添加模式文件,如下所示: Adding an XML schema

然后,您可以在项目属性中获得其他选项:

enter image description here

答案 1 :(得分:1)

我想补充一下我的发现。

我也想要契约优先工具,但没有找到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>

带有guid的FlavorProperties标记来自vs2012更新3,因此将来可能会发生变化。

因此,通过此黑客,您可以将合同优先服务直接部署到iis。

然而问题是为什么它在visual studio 2012中没有开箱即用

答案 2 :(得分:0)

您无需从WCF窗格添加XSD,只需从“数据”窗格中获取XML Schema项。

如果VS 2012上有“启用XSD作为类型定义语言”选项,它将在解决方案的命名空间+“.ContractTypes”下生成类型。

检查输出窗口以查看构建过程对XSD执行的操作。