Пропущенный метод, исключение моно

Я хочу запустить свое приложение C#, скомпилированное в Windows, на моем сервере Ubuntu.

Я использую.Net Framework версии 4.5 (не могу изменить его из-за некоторых сторонних API).

У меня установлена ​​самая актуальная версия Mono (2.10.8) для Ubuntu. Мое приложение скомпилировано с VisualStudio 2012 в ОС Windows (7).

Я пытаюсь сделать несколько запросов Post на другие сайты и проанализировать данные. Вот код, который создает запросы (который отлично работает на Windows):

HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri.AbsoluteUri);

req.UserAgent = this.UserAgent;
req.CookieContainer = this.Cookies;
req.Referer = this.Location;
req.Host = uri.Host;
req.AllowAutoRedirect = false;

И ошибка, которую я получаю от Mono, приходит сюда:

Unhandled Exception: System.MissingMethodException: Method not found: 'System.Net.HttpWebRequest.set_Date'.
  at manager.http.HttpBrowser.GetPostWebRequest (System.String url, System.Collections.Generic.Dictionary`2 postdata, System.Collections.Generic.Dictionary`2 headers) [0x00000] in <filename unknown>:0
  at manager.http.HttpBrowser.Post (System.String url, System.Collections.Generic.Dictionary`2 postdata, System.Collections.Generic.Dictionary`2 headers) [0x00000] in <filename unknown>:0
  at manager.http.HttpBrowser.Post (System.String url, System.Collections.Generic.Dictionary`2 postdata) [0x00000] in <filename unknown>:0
  at manager.networks.components.MyClass.MyMethod() [0x00000] in <filename unknown>:0
  at manager.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingMethodException: Method not found: 'System.Net.HttpWebRequest.set_Date'.
  at manager.http.HttpBrowser.GetPostWebRequest (System.String url, System.Collections.Generic.Dictionary`2 postdata, System.Collections.Generic.Dictionary`2 headers) [0x00000] in <filename unknown>:0
  at manager.http.HttpBrowser.Post (System.String url, System.Collections.Generic.Dictionary`2 postdata, System.Collections.Generic.Dictionary`2 headers) [0x00000] in <filename unknown>:0
  at manager.http.HttpBrowser.Post (System.String url, System.Collections.Generic.Dictionary`2 postdata) [0x00000] in <filename unknown>:0
  at manager.networks.components.MyClass.MyMethod() [0x00000] in <filename unknown>:0
  at manager.Program.Main (System.String[] args) [0x00000] in <filename unknown>:0

Я гуглил уже 2 дня и не могу найти решение.:(

ОБНОВИТЬ:

Атрибуты set_Date AND set_host в настоящее время не реализованы в Mono. (Я обновил свою версию до 3.x)

1 ответ

.NET 4.5 не поддерживается в Mono 2.x, выполните обновление до Mono 3.x.

У вас есть руководство здесь: Установка Mono 3.x в Ubuntu/Debian

Другие вопросы по тегам