У меня есть два разных приложения, и я использую GroupLab Networking для связи между ними. Идея в том, что есть общий словарь, и когда что-то меняется в этом общем словаре, другое приложение получает уведомление. Часть уведомлений работает. Здесь проблема. У меня есть следующий код в первом приложении.
TouchInfo t = new TouchInfo();
int.TryParse(txtXCoord.Text, out t.X);
int.TryParse(txtYCoord.Text, out t.Y);
this.sharedDictionary1["/pointOne"] = t;
Где TouchInfo
является struct
. Этот объект, хранящийся в общем словаре, может быть доступен обоим приложениям. Код выглядит так:
TouchInfo val = (TouchInfo)this.sharedDictionary1["/pointOne"]
Пока этот код работает в приложении, создавшем объект. Я получаю следующую ошибку во втором:
{Unserializable object: problem: System.Runtime.Serialization.SerializationException: Unable to find assembly 'NetworkingTestProgramOne, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Я понимаю, что эта проблема связана с тем, что сериализация также хранит информацию о сборке программы, которая ее сериализовала. Но мне это нужно для общения между разными программами. Как мне сделать эту работу?