我目前正在维护Windows Mobile 6应用程序。
我正在尝试更新添加的网络参考,但收到以下错误: “自定义工具MSDiscoCodeGenerator失败。无法检索当前项目。”
我删除了.Net Compact Framework 3.5并重新安装它,还安装了.Net Compact Framework 3.5的Power Tools。这没有用。
我也尝试删除网络参考,并添加新参考。添加了新的Web引用,但如果我尝试在代码中访问引用,则无法访问它。
我该如何解决这个问题?
由于
答案 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
在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>