如何在Clojure CLR 1.4.1中使用.NET WebClient调用
在问题中:我发现了以下代码段:如何在Clojure CLR 1.4.1中使用.NET WebClient调用,clojure,clojureclr,Clojure,Clojureclr,在问题中:我发现了以下代码段: (import '(System.Net HttpWebRequest NetworkCredential) '(System.IO StreamReader)) 当我启动REPL并输入: (导入“(System.IO StreamReader)) 一切都好。但当我进入时: (导入“(System.Net HttpWebRequest)) (我不需要NetworkCredential功能)我得到: 哦,我以前做过: My.ns=> (Sys
(import '(System.Net HttpWebRequest NetworkCredential)
'(System.IO StreamReader))
当我启动REPL并输入:
(导入“(System.IO StreamReader))
一切都好。但当我进入时:
(导入“(System.Net HttpWebRequest))
(我不需要NetworkCredential功能)我得到:
哦,我以前做过:
My.ns=> (System.Reflection.Assembly/LoadWithPartialName "System.Net")
#<RuntimeAssembly System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b
03f5f7f11d50a3a>
My.ns=>(System.Reflection.Assembly/LoadWithPartialName“System.Net”)
#
那么我还需要做什么呢?谢谢您的帮助。这是1.4中的一个错误。这是由于未能正确处理可从多个程序集访问的类型造成的。在本例中,
System.Net.HttpWebRequest
位于System
程序集中。在加载System.Net
程序集之前导入该类工作正常。加载System.Net
程序集后,可以从两个程序集访问HttpWebRequest
(得益于System.Net
中的TypeForwardedTo
属性)。在ClojureCLR 1.4.1中,未正确处理此问题
解决方案:
System.Net
,要么导入HttpWebRequest
在这样做之前李>
这是1.4中的一个bug。这是由于未能正确处理可从多个程序集访问的类型造成的。在本例中,
System.Net.HttpWebRequest
位于System
程序集中。在加载System.Net
程序集之前导入该类工作正常。加载System.Net
程序集后,可以从两个程序集访问HttpWebRequest
(得益于System.Net
中的TypeForwardedTo
属性)。在ClojureCLR 1.4.1中,未正确处理此问题
解决方案:
System.Net
,要么导入HttpWebRequest
在这样做之前李>
(导入'System.Net.HttpWebRequest)
您可以试试(导入'System.Net.HttpWebRequest)
My.ns=> (System.Reflection.Assembly/LoadWithPartialName "System.Net")
#<RuntimeAssembly System.Net, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b
03f5f7f11d50a3a>