Visual Studio 在“添加服务引用”时不生成 app.config 内容
Posted
技术标签:
【中文标题】Visual Studio 在“添加服务引用”时不生成 app.config 内容【英文标题】:Visual Studio does not generate app.config content when "add service reference" 【发布时间】:2011-01-10 16:10:54 【问题描述】:当我在控制台应用程序中使用“添加服务引用”添加 Web 服务时,app.config 不会生成配置。如何使用特定的 wsdl 生成此 app.config?谢谢!
【问题讨论】:
您使用的是什么版本的 Visual Studio?我只是在一个空的控制台应用程序中自己尝试过,它正确生成了 app.config。 使用 VS2010 对我来说也发生了这种情况,针对 VS2010 生成的 WCF 服务。更感兴趣的是找到解决方案而不是解决方法。 增加了 150 个代表的赏金,以获取无需借助命令行即可解决问题的答案。 这在 VS 2013 中发生在我身上,Clara Onagers 解决方案奏效了。 【参考方案1】:添加服务引用时,请尝试单击“高级...”按钮,然后取消选中“在引用的程序集中重用类型”复选框。
当我创建了一个简单的项目来测试一切正常的第三方服务时,我发现了这一点。尝试向主项目添加相同的引用会导致 app.config 和 reference.vb 文件无法正确生成。
我认为这可能是因为应用程序或引用的应用程序中已经存在其他 Web 引用,但是取消选中“重用类型”会导致文件正确生成。
【讨论】:
谢谢!一段时间以来一直在寻找解决方案,但您的回答解决了我的问题:-)【参考方案2】:(与我在 Visual Studio 2010: adding a service reference to a 2008 generated wsdl 给出的答案相同)
我在使用 Visual Studio 2008 时遇到了同样的问题。我发现如果我使用“添加服务引用...”命令,或者深入挖掘“添加服务引用...”,我会得到不同的结果 | “进阶……” | “添加 Web 引用...”。
然而,行之有效的方法——以及对我有用的解决方案——仍然是通过命令行:
svcutil.exe /language:cs /out:GeneratedProxy.cs /config:app.config http://server/path_to/WebServiceBean?WSDL
这应该会给你一个工作的 app.config。希望对您有所帮助!
【讨论】:
【参考方案3】:在我的情况下,以下操作已解决
-
在 WCF 项目的 web.config 文件中注释了
<services>
标记(从 <services>
到 </services>
重新编译的 WCF 项目
在 IIS 上托管
在客户端应用程序中删除旧引用并再次添加 WCF 引用
它成功了:)
【讨论】:
【参考方案4】:您可以像往常一样添加服务参考(无需高级)。如果配置部分没有出现在 app.config 中,您可以单击“配置服务引用...”,并取消选中“在引用的程序集中重用类型”。之后它将正确生成这些部分。
【讨论】:
【参考方案5】:这不会自动生成你的设置,但是要在没有命令行的情况下创建 web.config 设置,你可以在添加服务引用后右键单击你的 app.config 并单击“编辑 WCF 配置”按钮添加您的网络服务所需的元素。
【讨论】:
以上是关于Visual Studio 在“添加服务引用”时不生成 app.config 内容的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio/SOAP -“添加服务引用”与“添加 Web 服务引用”
Visual Studio2012 添加服务引用时,生成基于任务操作不可用原因
WP7,将服务引用添加到Visual Studio 2010后如何使用它