2013-09-15 2 views
1

Я написал этот простой кодF # на MonoDev не может компилировать вызов Webclient DownloadFile

let downloadFile (wc : WebClient) (webUrl : string) (filePath : string) = 
    wc.DownloadFile(webUrl, filePath) // no problem 
    try 
     wc.DownloadFile(webUrl, filePath) // problem!! why??? 
    with 
    | ex -> printfn "%s" ex.Message;() 

Здесь первый вызов wc.DownloadFile компилирует прекрасно.

тот же самый вызов, когда находится внутри Try делает comipler бросить эту ошибку

Член или конструктор объекта «DownloadFile» принимает 2 аргумента, которые не доступны из этого кода местоположения. Все доступные версии метода 'DownloadFile' принимают 2 аргумента.

Снова. Я пытаюсь это сделать на monodevelop на ubuntu. Прямо сейчас у меня нет машины Windows, чтобы проверить, работает ли это на Windows F #.

+0

Он компилируется для меня с использованием компилятора F # 3.0. – svick

+0

на окнах да. Я столкнулся с этой проблемой в monodevelop. –

+0

О, я забыл упомянуть об этом, что было на Linux. – svick

ответ

0

Какая версия Ubuntu вы работаете и какая версия Mono установлена ​​в вашей системе? Какая версия F #? Какую версию платформы .NET вы нацеливаете?

Возможно, реализация System.Net.WebClient.DownloadFile является неполной или ошибочной в вашей версии Mono. Это также может быть сама среда выполнения или ваша сборка F #.

Он выглядит полным, но я думаю, это зависит от того, когда был построен ваш моно. Вы можете сопоставить даты вашей среды выполнения с историей фиксации WebClient.cs, чтобы получить представление о том, что может отсутствовать.

https://github.com/mono/mono/blob/master/mcs/class/System/System.Net/WebClient.cs https://github.com/mono/mono/commits/master/mcs/class/System/System.Net/WebClient.cs

Я могу вам сказать, что эта проблема не MonoDevelop. Он работает для меня в MonoDevelop и Xamarin Studio в Windows 8. Обычно я пользователь Linux, но на данный момент у меня только Windows-машина. Если у меня будет время, я буду тестировать ваш фрагмент на RHEL6 завтра (используя последние сборки Mono и F #).

Смежные вопросы