إعادة توجيه إصدارات تجميع
عندما تقوم بإنشاء أحد تطبيقات.NET Framework مقابل إصدار محدد من قوي-تسمية التجميع، يستخدم تطبيق هذا الإصدار من التجميع في وقت التشغيل. ومع ذلك، في بعض الأحيان قد تريد تطبيق إلى تشغيل الإصدار أحدث من تجميع. ملف تكوين تطبيق أو ملف تكوين آلة أو ناشر سياسة يمكن إعادة توجيه الملف الإصدار واحد من تجميع إلى آخر. للحصول على التفاصيل على كيفية استخدام وقت تشغيل اللغة العامة لهذه الملفات إلى تحديد الإصدار تجميع إلى استخدامها، راجع كيفية وقت التشغيل بتحديد موقع تجميعات. يمكنك استخدام الأداة "تكوين.NET Framework" (Mscorcfg.msc) لإعادة توجيه الإصدارات تجميع في كلاهما المستوى تطبيق وعلى المستوى آلة، أو يمكنك التحرير مباشرة في ملف التكوين.
ملاحظة |
---|
لا يمكن إعادة توجيه الإصدارات ل تجميعات التي هي غير معقدة المسماة.وقت تشغيل اللغة العامة ويتجاهل الإصدار للتجميعات التي لا قوي-تسمية. |
إعادة توجيه إصدارات تجميع باستخدام الناشر سياسة
يمكن لبائعي تجميعات الولاية تطبيقات يجب استخدم الإصدار أحدث من تجميع بما في ذلك ملف نهج ناشر بتجميع الذي تم ترقيته. نهج الناشر ملف، الذي يقع في مخزن المجموعات العمومي المؤقت يحتوي على إعدادات إعادة توجيه تجميع.
كل الرئيسية . ثانوياً تجميع على ملف نهج الناشر الخاص به. على سبيل المثال، انتقل محاولات إعادة توجيه من إصدار 1.1.2.222 ل 1.1.3.000 ومن إصدار 1.1.2.321 إلى الإصدار 1.1.3.000 معا في نفس الملف. ومع ذلك، إعادة توجيهه من إصدار 2.0.0.999 في الإصدار 3.0.0.000 تذهب في ملفاً آخر.
في حالة وجود ملف نهج ناشر، وقت التشغيل بفحص هذا الملف بعد يتم الآن التدقيق من ملف الظاهر تجميع و ملف تكوين تطبيق. يجب استخدام الموردين publهوher النهج فقط عند تجميع الجديد هو متوافقة مع الإصدارات السابقة بتجميع التي يتم إعادة توجيهها.
يمكنك تجاوز نهج الناشر بتحديد إعدادات في ملف تكوين تطبيق.
تجاوز الناشر سياسة
إصدارات جديدة من تجميعات التي تدعي أن إلى الخلف مازال يمكن متوافقة مع بقطع أحد تطبيقات. عند حدوث ذلك، يمكنك استخدام إعداد التالي في ملف تكوين تطبيق إلى جعل تجاوز نهج الناشر في وقت التشغيل:
<publisherPolicy apply="no" />
تجاوز نهج الناشر للاحتفاظ تطبيق تشغيل للمستخدمين، ولكن تأكد من الإبلاغ عن المشكلة إلى مورد تجميع. بمجرد أن يحتوي على تجميع نهج publهوher، المورد يجب التأكد من أن التجميع هو متوافقة مع الإصدارات السابقة وأنه يمكن للعملاء استخدام الإصدار الجديد قدر الإمكان.
إعادة توجيه إصدارات تجميع على المستوى التطبيقات
افترض أن الالمورد تجميع بتحرير إصدار أحدث من تجميع أن تطبيق يستخدم، ولكن لا تقوم بتزويد نهج publهوher لأنه لا يرغب الالمورد لضمان أن تجميع الجديد هو متوافقة مع الإصدارات السابقة باستخدام الإصدار الأصلي. يمكنك تعيين أن تطبيق الخاص بك استخدم الإصدار الأحدث من تجميع بوضع معلومات ربط تجميع في ملف تكوين تطبيق الخاص بك.
إعادة توجيه إصدارات تجميع على المستوى آلة
قد يكون هناك بعض الحالات النادرة عندما يرغب administraإلىr جهاز الجميع التطبيقات تشغيل جهاز إلى استخدام الإصدار محدد من تجميع. على سبيل المثال، قد تحتاج إلى تطبيق كل استخدم beca الإصدار تجميع معينة استخدم يعمل على إصلاح فجوة الأمان. في حالة تجميع هو إعادة توجيه في ملف تكوين آلة، الجميع التطبيقات التي تستخدم الإصدار القديم استخدام الإصدار الجديد. ملف تكوين آلة بتجاوز ملف تكوين تطبيق و نهج الناشر.
تحديد تجميع ربط في ملفات تكوين
ملف تكوين تطبيق وملف تكوين آلة ملف نهج الناشر باستخدام مخطط XML نفس إلى عملية إعادة التوجيه للتجميع.
ربط تجميع
قم بتحديد المعلومات الخاصة بتجميع بوضع المعلومات لكل تجميع داخل عنصر <dependentAssembly>. <assemblyIdentity> عنصر يحتوي على معلومات تعريف تجميع. يمكن أن يكون لديك المزيد <dependentAssembly> عنصر واحد في ملف تكوين، ولكن يجب أن يكون هناك عنصر <assemblyIdentity> واحد في كل عنصر <dependentAssembly>.
إلى يربط تجميع، يجب تحديد سلسلة "urn: رسوم تخطيطية-microsoft-com:asm.v1" بالسمة xmlns في علامة <assemblyBinding>.
يحدد الناشر سياسة
إلى إجراء وقت التشغيل تجاوز نهج الناشر تجميع البيانات معينة، قم بوضع العنصر <publisherPolicy> في العنصر <dependentAssembly>. إلى إجراء تجاوز نهج الناشر لكافة تجميعات التي يستخدمها تطبيق، قم بوضع هذا إعداد في العنصر <assemblyBinding> وقت التشغيل. يمكنك أيضا استخدم الأداة "تكوين.NET Framework" (Mscorcfg.msc) لتجاوز نهج الناشر.
The الافتراضي إعداد for the يطبق سمة هو نعم. تعيين يطبق سمة إلى لا يتجاوز أي نعم الإعدادات السابقة. ل مثال، إذا تم تعيين يطبق إلى لا في المستوى تطبيق، أي الخاصة بالتجميع يطبق يتم تجاهل إعداد، حتى أنه يقوم بتعريف القيمة لتكون نعم . وهكذا، هو لا إعداد الولاية مفيدة فقط، كما هذا بتغيير إعداد الافتراضي.
إعادة توجيه إصدارات تجميع
لإعادة توجيه الإصدار واحد إلى آخر, استخدم <bindingRedirect> عنصر. oldVersion سمة يمكن تحديد الإصدار مفرد، أو نطاق من الإصدارات. على سبيل المثال، <bindingRedirect oldVersion="1.1.0.0-1.2.0.0" newVersion="2.0.0.0"/>تعين أنه يجب استخدام وقت التشغيل الإصدار 2.0.0.0 بدلاً من تجميع الإصدار s بين 1.1.0.0 و 1.2.0.0.
المثال
يظهر المثال التالي كيفية إعادة توجيه واحد إصدارات myAssemblyإلى آخر، ثم أوقف تشغيل نهج الناشر ل mySecondAssembly.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="myAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<!-- Assembly versions can be redirected in application,
publisher policy, or machine configuration files. -->
<bindingRedirect oldVersion="1.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="mySecondAssembly"
publicKeyToken="32ab4ba45e0a69a1"
culture="en-us" />
<!-- Publisher policy can be set only in the application
configuration file. -->
<publisherPolicy apply="no" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
إعادة توجيه تجميع إطار عمل.NET ربط
يمكنك استخدام السمة appliesTo تشغيل العنصر <assemblyBinding> في ملف تكوين تطبيق لإعادة توجيه المراجع ربط تجميع إلى الإصدار محدد من.NET Framework. هذه السمة الإختيارية تستخدم رقم إصدار NET Framework. لتحدّد الإصدار الذي ينطبق عليها. إذا لم يتم تحديد سمة appliesTo , فإن العنصر <assemblyBinding> ينطبق على كل إصدارات NET Framework. .
تم تقديم السمة appliesTo في إصدار 1.1 من NET Framework. و تم تجاهلها في إصدار 1.0 . هذا يعني أنه جميع عناصر <assemblyBinding> تنطبق عند إستخدام إصدار 1.0 من NET Framework. حتى لو تم تحديد السمة appliesTo .
على سبيل المثال، لإعادة توجيه الربط الخاصة بالإصدار.NET Framework 1.0 تجميع Reg تجميع تعليمات برمجية، فسيتم تضمين XML التالي تعليمات برمجية في ملف تكوين تطبيق الخاص بك.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
appliesTo="v1.0.3705">
<dependentAssembly>
<!-- assembly information goes here -->
</dependentAssembly>
</assemblyBinding>
</runtime>
تعتبر العناصر <assemblyBinding> حسب الترتيب. يجب إدخال تجميع ربط معلومات إعادة التوجيه لأي تجميعات الإصدار 1.0 من برنامج.NET Framework أولاً، متبوعة بواسطة للتجميعات الإصدار 1.1 من برنامج.NET Framework أي معلومات إعادة التوجيه ربط تجميع. وأخيراً، Enter الزر الزر معلومات إعادة التوجيه ربط تجميع لأي إعادة التوجيه للتجميع.NET Framework التي لا تستخدم تطبيق السمة إلى ولذلك يتم تطبيق إلى الجميع إصدارات.NET Framework. في حالة لوجود تعارض في عملية إعادة التوجيه، بيان إعادة توجيه المطابق أول في ملف تكوين هو المستخدمة.
على سبيل المثال، إلى مرجع واحد بإعادة توجيه إلى تجميع الإصدار 1.0 من برنامج.NET Framework ومرجع آخر إلى تجميع الإصدار 1.1 من برنامج.NET Framework، يجب استخدام النقش في pseudocode التالية.
<assemblyBinding xmlns="..." appliesTo="v1.0.3705">
<!—.NET Framework version 1.0 redirects here -->
</assemblyBinding>
<assemblyBinding xmlns="..." appliesTo="v1.1.5000">
<!—.NET Framework version 1.1 redirects here -->
</assemblyBinding>
<assemblyBinding xmlns="...">
<!-- redirects meant for all versions of the runtime -->
</assemblyBinding>
راجع أيضًا:
المهام
كيفية القيام بما يلي: إنشاء الناشر سياسة
المرجع
المبادئ
التجميعات في وقت تشغيل اللغة العامة
كيفية تحديد وقت التشغيل مواقع التجميعات