我正在尝试按照此处的演练创建一个WCF项目...... http://msdn.microsoft.com/en-us/library/bb386386.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3,但是在第一步中遇到了困难。
错误 - VSE Windows桌面没有WCF服务库模板。
很好 - VSE Web Developer可以,所以我在VSE Web Developer中设置了WCF项目
错误 - 无法在VSE Windows桌面中打开WCF项目
很好 - 了解您可以将模板从VSE Web开发者文件夹复制到VSE Windows桌面,我做了
好 - VSE Windows桌面现在有WCF服务库模板,所以我尝试创建一个新的WCF项目。 VSE似乎遵守,设置项目文件夹......但是
糟糕 - ......抛出错误...
The project file '... WcfService1.csproj' cannot be opened.
There is a missing subtype.
Subtype:'{blah blah}' us unsupported by this installation.
我甚至尝试将其关闭再打开。
下一步是什么?
答案 0 :(得分:1)
正如我在评论中提到的,WCF服务库只不过是一个类库 - WCF服务库项目模板只是有其他东西可以更快地设置项目。你可以通过创建一个类库来完成同样的事情。
转到文件 - >菜单上的新项目。在打开的窗口中,展开Visual C#,然后选择Windows并从中心的列表中选择Class Library,为其命名,然后单击OK。
您必须为服务添加界面和配置设置,但您应该能够复制并粘贴您所关注的文章。完成后,瞧,您有一个WCF服务库。
修改了更多详情
WCF服务库模板为您提供的唯一内容是WCF服务库的样板 - 包括服务实现的.cs文件,服务实现的服务契约(接口)的.cs文件和具有必要<system.serviceModel>
条目的app.config文件。
坚持在原帖中链接到的文章,这里有没有模板的方法。
步骤1和2.按照我上面的内容 - 创建类库。 VS将创建项目,您将看到一个名为class1.cs的文件。这将是您的服务类。如果需要,可将其重命名为WCFServiceLibrary1.cs。
接下来添加一个界面并将其命名为IWCFServiceLibrary1
。这将是您的服务合同。您需要更新WCFServiceLibrary1.cs
文件并在: IWCFServiceLibrary1
之后添加public class WCFServiceLibrary1
,所以它看起来像这样:
public class WCFServiceLibrary1 : IWCFServiceLibrary1
在界面中,在界面上方添加[ServiceContract]
属性,如下所示:
[ServiceContract]
public interface IWCFServiceLibrary1
您还需要在类和界面中添加对System.ServiceModel
和using System.ServiceModel
的引用。
步骤3和4.将文章中的代码复制到正确的文件中。
步骤5:您可以通过点击F5并运行WCFTestClient来测试服务。
然后,您应该能够完成本文的其余部分。
这种方式需要更长的时间,但您也可以更好地了解WCF服务库的内容。
答案 1 :(得分:0)
期望管理 - 我被期望完成所有步骤,但可能没有必要(这在答案中暗示)。所以,我尝试了一个简单的设置,在这里描述......
Is it possible to start exploring WCF using Visual Studio Express for Windows Desktop 2013?