Npgsqlリーダー型にキャストエラー(た:モノなserialize複雑な種類)

StackOverflow https://stackoverflow.com/questions/1175971

  •  19-09-2019
  •  | 
  •  

質問

私を利用できるよう、直列化さ複雑な種類が実装されていないモノ2.4.2なり、失敗してしまいました?

私は作り話リモート機能、エラーメッセージ:

Cannot cast from source type to destination type.
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke 
    (System.Runtime.Remoting.Proxies.RealProxy rp, IMessage msg,
     System.Exception& exc, System.Object[]& out_args) [0x00000]

このリモート機能です。私は同じ結果利用の場合 string[] です。string するようです。

public List<string> GetHist()
{
    NpgsqlConnection conn = new NpgsqlConnection(ConnectStr);
    conn.Open();

    string cmd = "select * from history";
    NpgsqlCommand command = new NpgsqlCommand(cmd, conn);
    List<string> s = new List<string>();

    try
    {
        NpgsqlDataReader dr = command.ExecuteReader();
        if (dr.Read())
        {
            for (int i = 0; i < dr.FieldCount; i++)
                s.Add(dr.GetString(i));
        }
        else
            s.Add("(hehe)");
    }
    finally
    {
        conn.Close();
    }
    return s;
}

呼び出し側:

List<string> w = remoteClass.GetHist();
foreach (string s in w)
    Console.Write(s + ", ");
Console.WriteLine();

すことがで http://mono-project.com/FAQ:_Technical :

かつ直列化の互換性はありますか?できまserialize、 オブジェクトをMonoおよび直列化復元で さんの純やょうか。

直列化形式を実施 モノラルにも対応する のMS.NET.ただし、 対応形式になります。に 注交換 直列化されたオブジェクトは、対応する 授業が同じである必要が内部 構造は、同じ公開 民間分野)の両側にあります。

ご自分の直列化さ 授業でも問題ありませんが、 いてのアセンブリ 授業に使用され 直列化します。

しかし場合には、直列化さ 物から、枠組み 直列化の互換性がない 保証の内部 構造物が 異なります。この互換性がない も保証と異なる さんNETバージョン又はモノにできます。

について当社は全力を尽く の枠組みの授業に対応 とモノとMS.NETしかし、 時にはこれはできないので 内部実装にも 異なります。通知のものにした場合 変更のクラスで対応 とMS.NETしなの互換性 以前のバージョンで用いただけます:standardとexpress。

この場合設計 applicationを実行する異なる 環境やプラットフォームである なお管理が必要な 株直列化されたオブジェクト( 用リモ普通のファイル、または 何),注意しておかなければならないと 何物で共有するため、 物体の枠組みが 可能です。

(お知らせることのみに適用され serializersに基づく システム。を行います。直列化 の枠組みについては適用されませんの XmlSerializer).

してみることはできなかったが、もとのモノ2.4.2と他のモノ2.4.2ます。

役に立ちましたか?

解決

この問題はNpgsqlうタイトルを変更.この二つき相当と思うものを返します、 string が最初に働きません:

dr.GetString(i)
dr[i].ToString()

るデバッグも,.純リモのエラーの呼び出し側です。

他のヒント

.純直列化しないジェネリック医薬品...しかも---grrrrr.

モノラルでトリッキーなものとします。純2.0,string[]。確かに、コードをwindows上でしか利用できません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top