Visual Studio Express - 缺少项目子类型可防止打开项目

时间:2014-10-30 23:22:16

标签: c# wcf visual-studio-2013

我正在尝试按照此处的演练创建一个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.

我甚至尝试将其关闭再打开。

下一步是什么?

2 个答案:

答案 0 :(得分:1)

正如我在评论中提到的,WCF服务库只不过是一个类库 - WCF服务库项目模板只是有其他东西可以更快地设置项目。你可以通过创建一个类库来完成同样的事情。

转到文件 - >菜单上的新项目。在打开的窗口中,展开Visual C#,然后选择Windows并从中心的列表中选择Class Library,为其命名,然后单击OK。

enter image description here

您必须为服务添加界面和配置设置,但您应该能够复制并粘贴您所关注的文章。完成后,瞧,您有一个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.ServiceModelusing 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?