メソッドを使用して文字列 str にシリアル化された .net Type がありますAssemblyQualifiedName
。後で使用してこのタイプにアクセスしたいType.GetType(str);
ここでの問題は、型のシリアル化と逆シリアル化の間の月にアセンブリ バージョンが変更されたことです。次に、バージョンを削除するカスタム アセンブリ リゾルバーを作成しました。
Type.GetType(str,
assemblyName =>
{
assemblyName.Version = null;
return System.Reflection.Assembly.Load(assemblyName);
},
null // type resolver : default
);
これは機能しますが、これについていくつか質問があります。
- 私の場合、公開トークンキーがバージョン間で同じに保たれるのは正常ですか? 何が彼らを変えるのですか?公開トークン キーの ID も削除できますか? (私がバージョンでやったように)
- これを行う正しい方法ですか?理想的には、指定された型を指定されたアセンブリにロードしたいのですが、何か間違ったことをしているように感じます
ありがとう