我有 VisualStudio 2012,我正在尝试遵循以下教程http://msdn.microsoft.com/en-us/library/hh674270.aspx
但是我在模板对话框的WCF 窗格中找不到选项架构定义。
我必须安装一些东西吗?那会是什么?一个扩展,也许?
提前致谢。
我有 VisualStudio 2012,我正在尝试遵循以下教程http://msdn.microsoft.com/en-us/library/hh674270.aspx
但是我在模板对话框的WCF 窗格中找不到选项架构定义。
我必须安装一些东西吗?那会是什么?一个扩展,也许?
提前致谢。
您无需安装它 - 它已经存在。可能会引起您注意的是它仅在“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>
带有 guid 的 FlavorProperties 标签来自 vs2012 更新 3,因此将来可能会更改。
因此,通过这个 hack,您可以将合同优先服务直接部署到 iis。
然而,问题是为什么它在 Visual Studio 2012 中不能像这样开箱即用
您不需要从 WCF 窗格中添加 XSD,只需从 Data 窗格中获取 XML Schema 项。
如果 VS 2012 启用了“启用 XSD 作为类型定义语言”选项,它将在您的解决方案的命名空间 +“.ContractTypes”下生成类型。
检查输出窗口以查看构建过程对 XSD 执行的操作。