私は得ています:
System.Runtime.Serialization.SerializationException: アセンブリが見つかりません 'myNameSpace、バージョン = 1.0.0.0、カルチャ = ニュートラル、PublicKeyToken = null
シリアル化したプログラムとは別のプログラムでデータを逆シリアル化しようとしたとき。
グーグルで調べたところ、明らかにこれは共有アセンブリを使用してのみ実行できることがわかりました。
しかし、私のデータベースはこのシリアル化されたオブジェクトでいっぱいで、それらを取り出すユーティリティ プログラムが必要です。この動作をオーバーライドして、まったく同じクラスをフィードし、強制的に逆シリアル化する方法はありますか?
このスニペットは既に見つけましたが、これをどこにどのように配置/使用すればよいかわかりません。
static constructor() {
AppDomain.CurrentDomain.AssemblyResolve += new ResolveEventHandler(CurrentDomain_AssemblyResolve);
}
static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) {
Assembly ayResult = null;
string sShortAssemblyName = args.Name.Split(',')[0];
Assembly[] ayAssemblies = AppDomain.CurrentDomain.GetAssemblies();
foreach (Assembly ayAssembly in ayAssemblies) {
if (sShortAssemblyName == ayAssembly.FullName.Split(',')[0]) {
ayResult = ayAssembly;
break;
}
}
return ayResult;
}