找不到文件System.Net.ConnectStream"在降级到.net 3.5之后

本文关键字:降级 net 之后 System 文件 Net ConnectStream quot 找不到 | 更新日期: 2023-09-27 18:10:31

我正在通过Google Maps API为地理编码地址创建一个SQL CLR存储过程。我使用的SQL版本是2008,它只支持。net 3.5及以下版本,因此我需要降级我的目标框架。

我目前正在生成一个web请求,获得它的响应,然后尝试使用以下代码获得它的响应流:

 var request = WebRequest.Create(requestUri);
 var response = request.GetResponse();
 var xdoc = XDocument.Load(response.GetResponseStream().ToString());

我在最后一行使用ToString()方法,因为XDocument.Load()方法在。net 3.5中不支持流。

在最后一行,我得到了下面的异常,我还没有解决:

无法找到文件'c:'users'xxx'documents'visual studio 2012'Projects'GoogleGeoCoder'ConsoleApplication1'bin'Debug'System.Net.ConnectStream'.

请记住,当目标是。net 4时,所有这些都工作得很好——唯一的调整是添加ToString()方法。

对于如何解决这个异常有什么想法吗?

找不到文件System.Net.ConnectStream"在降级到.net 3.5之后

response.GetResponseStream()返回一个Stream。当您使用.ToString()Stream时,您将获得类的名称,而不是流的内容。

如果你想获得流的内容,你需要先读取流。

var response = new StreamReader(request.GetResponse().GetResponseStream());
var xdoc = XDocument.Load(response.ReadToEnd().ToString());