Web引用未在VS2008中更新

时间:2013-10-15 09:50:28

标签: .net visual-studio-2008 compact-framework windows-mobile-6

我目前正在维护Windows Mobile 6应用程序。

我正在尝试更新添加的网络参考,但收到以下错误: “自定义工具MSDiscoCodeGenerator失败。无法检索当前项目。”

我删除了.Net Compact Framework 3.5并重新安装它,还安装了.Net Compact Framework 3.5的Power Tools。这没有用。

我也尝试删除网络参考,并添加新参考。添加了新的Web引用,但如果我尝试在代码中访问引用,则无法访问它。

我该如何解决这个问题?

由于

3 个答案:

答案 0 :(得分:1)

奇怪的声音错误信息,但显然其他人已经得到它。

来自这里的网站:Web references and 'MSDiscoCodeGenerator' Error

  

如果settings.settings文件被删除,则存在已知问题,您可以进入此状态。解决此问题的方法是打开Settings.settings文件(只需双击它)。对于动态网址,您应该看到类似于以下内容的条目。

_Name____________________|_Type_____________|_Scope_|_Value____
MyApp_localhost_Service  |(Web Service URL) | User  |  http://localhost:2305/WebSite8/Service.asmx
  

注意类型字段 - 它需要设置为“(WebService URL)” - 类型下拉列表中的一个选项。很可能它被设置为String类型,这会导致错误。

     

你能试试吗?我们正在考虑为Visual Studio的SP1修复此问题(这是核心VS代码库中的一个问题,因此WAP无法直接修复它。)

答案 1 :(得分:0)

我在Windows 10 x64上全新安装Visual Studio 2008 plus SP 1时遇到了同样的问题

我遵循了多条关于如何解决这个问题的建议,所以我无法确定最后一步是否有所帮助,但我认为这是最后一步。

注意:在每个步骤之后,我从Visual Studio 2008命令提示符重新启动并执行devenv /resetskippkgs

  1. 已安装适用于.NET Compact Framework 3.5的Power Toys
  2. 重新安装Compact Framework 3.5(卸载,重新启动,安装)
  3. 已安装的SQL Server Compact 3.5(最后更新Web引用再次工作)
  4. The custom tool MSDiscoCodeGenerator failed. Could not retrieve the current project.错误消息之前,我收到错误消息,抱怨sql server compact丢失,所以我把它作为提示。

    在控制面板中添加/删除程序SQL Server Compact 3.5确实缺失。可能是因为在最初的Visual Studio安装过程中我排除了Microsoft SQL Server 2005 Express Edition

    从visual studio 2008 dvd \German\VisualStudio2008\Professional\WCU\SSCE手动安装所有三个msi文件(SSCEDeviceRuntime-deu.msi,SSCERuntime-deu.msi,SSCEVSTools-deu.msi)并最后一次运行devenv /resetskippkgs ,问题就消失了。

答案 2 :(得分:0)

您可以使用wsdl.exe手动生成客户端。您只需指定不生成异步代码,以便在紧凑框架上编译结果:

wsdl.exe /protocol:SOAP /out:Reference.cs /parameters:params.xml http://url_to_service?wsdl

params.xml的内容:

<wsdlParameters xmlns="http://microsoft.com/webReference/">
  <webReferenceOptions>
    <codeGenerationOptions>properties</codeGenerationOptions>
  </webReferenceOptions>
</wsdlParameters>