修改URL大小写后更新Visual Studio服务引用失败求助
解决Visual Studio服务引用更新时URL大小写不生效的问题
我之前也跟你一样碰到过VS这个顽固的缓存问题——明明改了URL的大小写,它却死咬着旧地址不放,给你几个亲测有效的解决步骤:
彻底清理VS的服务引用缓存
先把VS完全关掉,然后打开文件资源管理器,输入路径%LOCALAPPDATA%\Microsoft\VisualStudio\<你的VS版本号>\ConnectedServices(比如VS2022就是%LOCALAPPDATA%\Microsoft\VisualStudio\17.0_xxxxxx\ConnectedServices),找到和你这个服务引用相关的文件夹删掉,或者直接清空整个ConnectedServices目录——放心,这个缓存只是VS临时存的服务元数据,重启后会重新生成,不会影响你的项目代码。手动修改项目里的配置文件
- 打开项目的
app.config(Web项目就是web.config),搜索旧的URL字符串https://[host]/Services/channel/getBusinessPartnerList/1.0?wsdl,把所有匹配到的地址里的channel改成Channel、getBusinessPartnerList改成GetBusinessPartnerList,保存配置文件。 - 显示项目里的隐藏文件,找到服务引用文件夹下的
Reference.svcmap文件,打开后找到<MetadataSources>节点里的旧URL,替换成新的正确地址,保存后再尝试更新服务引用。
- 打开项目的
用命令行工具手动生成服务代理
如果上面的方法还是不行,就绕开VS的GUI,用svcutil命令手动生成:- 打开VS的开发者命令提示符(开始菜单里搜“开发者命令提示符 for Visual Studio”)。
- 切换到你的项目目录,执行下面的命令(记得替换成实际的主机地址):
svcutil /language:C# /out:BusinessPartnerService.cs /config:app.config https://[host]/Services/Channel/GetBusinessPartnerList/1.0?wsdl - 把生成的
BusinessPartnerService.cs文件添加到项目里,替换原来服务引用自动生成的类,这样就能完全使用新的URL了。
检查项目文件里的残留配置
右键项目选择“卸载项目”,然后右键编辑.csproj文件,搜索旧的URL,看看有没有残留的配置项,如果有的话替换成新地址,保存后重新加载项目。
做完这些步骤,再去更新服务引用,应该就能正确识别新的大小写敏感URL了。
内容的提问来源于stack exchange,提问作者Steven
相关产品推荐
相关产品推荐

