我试图复制现有WCF服务库的功能,以将其用作新WCF服务库的模板。由于我要剪切并粘贴我需要的所有代码,并且我不希望它创建默认服务存根,所以我没有使用内置的“WCF服务库”项目模板启动它。我刚刚使用“空项目”模板向我的解决方案添加了一个新的空白项目。
然后,我为我的项目创建了两个新的空白.cs代码文件,以保存我的服务的接口和类,并从我原来的WCF服务库项目中复制/粘贴了接口和类代码,并进行了我需要的更改制作。
新项目编译得很好,但是......
1)如果我进入项目属性,则不会出现“WCF选项”部分,就像我在原始WCF服务库中一样。
2)使用原始WCF服务库项目,我可以右键单击它并选择Debug-> Start New Instance,它将使用WCF服务主机自动启动它。对于新项目,如果我尝试,它说,“无法直接启动具有类库的输出类型的项目。”
我如何让Visual Studio(我使用2012 Professional)将此项目视为真正的WCF类库,而不是重新开始并使用“WCF服务库”项目模板?
答案 0 :(得分:3)
您错过了project
文件
这来自我的一个VS2010项目。
<ProjectExtensions>
<VisualStudio>
<FlavorProperties GUID="{3D9AD99F-2412-4246-B90B-4EAA41C64699}">
<WcfProjectProperties>
<AutoStart>True</AutoStart>
</WcfProjectProperties>
</FlavorProperties>
</VisualStudio>
</ProjectExtensions>
如果我删除它,WCF Options
属性部分会消失。
编辑:
我将Empty项目与WCF服务库进行了比较,发现您还需要将其添加到项目中以使WCF选项显示在项目属性中
<ProjectTypeGuids>{3D9AD99F-2412-4246-B90B-4EAA41C64699};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
WCF中有另一个条目(而不是在空项目中)
<StartArguments>/client:"WcfTestClient.exe"</StartArguments>
我需要
调试 - &gt;启动新实例
然而,您还需要其他内容,例如对System.ServiceModel
的引用。
老实说,我认为你最好使用正确的WCF Service Library
模板并删除你不想要的东西,而不是试图找出你需要的东西。