1

Windows でコンパイルした C# アプリを Ubuntu サーバーで実行したいと考えています。

私は .Net Framework バージョン 4.5 を使用しています (一部のサード パーティ API が原因で変更できません)。

Ubuntu 用の最も実際の Mono バージョン (2.10.8) がインストールされています。私のアプリケーションは、Windows OS (7) 上の VisualStudio 2012 でコンパイルされています。

他の Web サイトに 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 および set_host は、現在 Mono で実装されていません。(バージョンを 3.x にアップグレードしました)

4

1 に答える 1