سؤال

لدي طلب أن يقرأ في XAML الملفات ديناميكيا مثل هذا:

StreamReader sr = new StreamReader(pathAndFileName);
this.Content = XamlReader.Load(sr.BaseStream);

في واحدة من تلك XAML الملفات التي يحصل تحميلها في (لديهم التعليمات البرمجية الخاصة بهم وراء إزالة) ، يعمل هذا:

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:DynamicXaml123">
    <StackPanel Margin="10" HorizontalAlignment="Left">
        <TextBox Height="23" Width="100" Text="{Binding FirstName}" />
        <TextBox Height="23" Width="100" Text="{Binding LastName}" />
        <TextBox Height="23" Width="100" Text="{Binding Age}" />
        <local:FieldEmailView></local:FieldEmailView>
    </StackPanel>
</UserControl>

ولكن هذا يعطي خطأ "الوسم 'FieldEmailView' غير موجود في مساحة اسم XML 'clr-مساحة:DynamicXaml123;الجمعية=DynamicXaml123'".

<UserControl
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:DynamicXaml123;assembly=DynamicXaml123">
    <StackPanel Margin="10" HorizontalAlignment="Left">
        <TextBox Height="23" Width="100" Text="{Binding FirstName}" />
        <TextBox Height="23" Width="100" Text="{Binding LastName}" />
        <TextBox Height="23" Width="100" Text="{Binding Age}" />
        <local:FieldEmailView></local:FieldEmailView>
    </StackPanel>
</UserControl>

إذا أترك الجمعية الإشارة ثم فإنه يحصل على خطأ

Message=""XmlNamespace", "Assembly" oder "ClrNamespace"

عند قراءة في XAML.

لماذا لا أستطيع أن تشمل الجمعية الإشارة هنا ، ماذا علي أن تغيير/الاختيار للحصول على هذا العمل ؟

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

المحلول

عند تحميل هذا, عليك أن تكون قادرا على حل الجمعية المراجع.وبعبارة أخرى ، فإن هذه الجمعية يجب أن تتوفر على تطبيق المرجعية ضد واحد طريقة للقيام بذلك سيكون لنشر DynamicXaml123 إلى GAC.

نصائح أخرى

أقترح الخروج مراقبة عملية ورؤية حيث التطبيق الخاص بك تبحث عن dynamicxaml123.التحقق الانصهار سجل وكذلك.أعتقد السلوك في XamlSerializer مختلفة إذا كنت تشمل مساحة من عندما كنت لا ، وهذا يؤثر التغيير حيث وقت التشغيل هو التلصص على التجميع الخاص بك.

ملاحظة قد يكون هناك بعض التأخير بين إعداد fuslogvw و عندما يبدأ فعلا إلى السجل.

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