التجميع القوي المسماة لا يعمل في بلدي المرئي C#

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

  •  21-09-2019
  •  | 
  •  

سؤال

لديّ مشروع وأريد أن أذكر اسم الملف القابل للتنفيذ. استخدام تجميع سطر الأوامر يعمل بشكل جيد:

CSC ... /Keyfile: ...

لكنني أود أن تقوم IDE بذلك ، لذلك أجد هذا: في علامة التبويب "توقيع" Project Property ، هناك خيار "علامة التجميع". أنا وضع علامة عليه وتوجيه إلى ملف key-pair الخاص بي. بعد أن أقوم بتصحيح الأخطاء ، يظهر استثناء FileNotfound في مكان غير مبال: (يستخدم طلبي التسلسل)

        protected override Type d(Stream st)
        {
            BinaryFormatter bf = new BinaryFormatter();
            return (Type)bf.Deserialize(st);
        }

كان التطبيق يعمل مباشرة قبل القيام بهذا التكوين.

هل كانت مفيدة؟

المحلول

أفترض أنك تقرأ البيانات التي تمت كتابتها مع التطبيق غير الموقّع. أصبحت هذه البيانات الآن غير متوافقة ، لا يمكن لـ Deserializer مطابقة الأنواع.

لست متأكدًا من كيفية إصلاح هذا (بسرعة) ، ولكن ربما يمكنك تأكيد ذلك أولاً من خلال الكتابة والقراءة مع التطبيق الموقّع ، الذي يجب أن يعمل.

إنها لفكرة جيدة أن تبقي جميع أنواعك المسلسل في مجموعة منفصلة.

نصائح أخرى

ستحتاج إلى تكوين بشكل مناسب الموثق خاصية الثنائي. فيما يلي مثال على كيفية القيام بذلك: http://spazzarama.wordpress.com/2009/06/25/binary-deserialize-unable-to-find-assembly/

كل من الردود كانت ممتازة.
إضافة بنس 1 الخاص بي: وهذا ما يسمى اكتب الإخلاص وهو أمر ممكن فقط من خلال التسلسل الثنائي وليس في XML أو أي نوع آخر من التسلسل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top