مشاركة عبر


الإرشادات التفصيلية: تحميل التجميعات القمر الصناعي عند الطلب مع توزيع ClickOnce API باستخدام "مصمم"

يمكن تكوين Windows نماذج التطبيقات للبيانات الموروثة متعددة من خلال استخدام من تجميعات القمر الصناعي. على تجميع تابع هو تجميع تابع الذي يحتوي على موارد تطبيق لبيانات موروثة غير تطبيق الافتراضي الثقافة.

كـ التي تمت مناقشتها في تعريب ونشر ClickOnce، يمكنك تضمين القمر الصناعي كـ semblies متعددة للبيانات الموروثة متعددة داخل نفس ClickOnceتوزيع. عن طريق الافتراضي، ClickOnceسيتم ينزّل الجميع تجميعات الستالايت في عملية التوزيع إلى جهاز العميل، على الرغم من أنه من المحتمل أن تتطلب عميل مفرد تجميع القمر الصناعي مفرد فقط.

توضح هذه معاينة كيفية وضع علامة تجميعات القمر الصناعي الخاص بك اختيارية، و ينزّل تجميع فقط جهاز عميل يحتاج لإعدادات الثقافة الحالي الخاصة به.

ملاحظة

لأغراض الاختبار، أمثلة تعليمات برمجية التالية برمجياً تعيين الثقافة إلى ja-JP. راجع القسم "التالي خطوات" لاحقاً في هذا إلى صورة لمزيد من المعلومات حول كيف يتم إلى ضبط هذه التعليمة البرمجية لبيئة إنتاج.

المتطلبات الأساسية

هذا الموضوع يفترض أنك تعرف كيفية إضافة موارد محلية إلى usingVisual تطبيق الخاص بك Studio. للحصول على إرشادات مُفصل، راجع الإرشادات التفصيلية: الترجمة Windows Forms.

إلى وضع تجميعات القمر الصناعي اختيارية

  1. قم بإنشاء مشروع. وهذا يقوم بإنشاء تجميعات القمر الصناعي بالنسبة لكافة البيانات الموروثة التي تقوم بالترجمة إلى.

  2. ينقر تشغيل اليمين تشغيل اسم مشروع الخاص بك في "مستكشف الحلول"، و انقر فوق خصائص.

  3. انقر فوق التبويب ينشر ، و ثم انقر فوق من ملفات تطبيق.

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

    سيكون تجميع تابع اسم في\ApplicationName.موارد.dll "isoCode النموذج، الموقع isoCode معرّف لغة في تنسيق RFC 1766.

  5. انقر فوق جديد... في القائمة ينزّل تجميع لكل معرّف اللغة. عند مطالبتك ينزّل اسم المجموعة، قم بإدخال معرّف اللغة. على سبيل المثال، تجميع تابع القمر صناعي ياباني التي تحددها في ينزّل مجموعة اسم جا-المهنة JP .

  6. يغلق صندوق الحوار ملفات تطبيق.

إلى ينزّل تجميعات القمر الصناعي عند الطلب في C#‎

  1. فتح في برنامج.cs ملف. إذا لم تتمكن من رؤية هذا ملف في "مستكشف الحلول"، تحديد المشروع، وفي قائمة Project ، انقر فوق "إظهار الكل" ملف s.

  2. استخدم تعليمات برمجية التالية إلى ينزّل تجميع القمر الصناعي المناسب ثم قم بتشغيل تطبيق الخاص بك.

    using System;
    using System.Collections.Generic;
    using System.Windows.Forms;
    using System.Threading;
    using System.Globalization;
    using System.Deployment.Application;
    using System.Reflection;
    
    namespace ClickOnce.SatelliteAssemblies
    {
        static class Program
        {
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Thread.CurrentThread.CurrentUICulture = new CultureInfo("ja-JP");
    
                // Call this before initializing the main form, which will cause the resource manager
                // to look for the appropriate satellite assembly.
                GetSatelliteAssemblies(Thread.CurrentThread.CurrentCulture.ToString());
    
                Application.Run(new Form1());
            }
    
            static void GetSatelliteAssemblies(string groupName)
            {
                if (ApplicationDeployment.IsNetworkDeployed)
                {
                    ApplicationDeployment deploy = ApplicationDeployment.CurrentDeployment;
    
                    if (deploy.IsFirstRun)
                    {
                        try
                        {
                            deploy.DownloadFileGroup(groupName);
                        }
                        catch (DeploymentException de)
                        {
                            // Log error. Do not report this error to the user, because a satellite
                            // assembly may not exist if the user's culture and the application's
                            // default culture match.
                        }
                    }
                }
            }
    
        }
    }
    

لتحميل تجميعات القمر الصناعي عند الطلب في Visual أساسى

  1. في الإطار خصائص للتطبيق، انقر فوق علامة تبويب تطبيق.

  2. ضمن علامة تبويب صفحة، انقر فوق عرض أحداث تطبيق.

  3. قم بإضافة استيراد التالية إلى بداية الملف ApplicationEvents.VB.

    Imports System.Deployment.Application
    Imports System.Globalization
    Imports System.Threading
    
  4. قم بإضافة التعليمات البرمجية التالية إلى فئة MyApplication .

    Private Sub MyApplication_Startup(ByVal sender As Object, ByVal e As Microsoft.VisualBasic.ApplicationServices.StartupEventArgs) Handles Me.Startup
        Thread.CurrentThread.CurrentUICulture = New CultureInfo("ja-JP")
        GetSatelliteAssemblies(Thread.CurrentThread.CurrentUICulture.ToString())
    End Sub
    
    Private Shared Sub GetSatelliteAssemblies(ByVal groupName As String)
        If (ApplicationDeployment.IsNetworkDeployed) Then
    
            Dim deploy As ApplicationDeployment = ApplicationDeployment.CurrentDeployment
    
            If (deploy.IsFirstRun) Then
                Try
                    deploy.DownloadFileGroup(groupName)
                Catch de As DeploymentException
                    ' Log error. Do not report this error to the user, because a satellite
                    ' assembly may not exist if the user's culture and the application's
                    ' default culture match.
                End Try
            End If
        End If
    End Sub
    

الخطوات التالية

في بيئة إنتاج، فمن المحتمل أن يكون ستحتاج إلى إزالة السطر في أمثلة تعليمات برمجية التي تقوم بتعيين CurrentUICultureإلى قيمة معينة، لأن الأجهزة العميلة إلى أن القيمة الصحيحة تعيين بشكل افتراضي. عند تطبيق الخاص بك يعمل على جهاز عميل يابانية، على سبيل المثال، CurrentUICultureسيكون ja-JPبواسطة الافتراضي. تعيين برمجي هو طريقة بضاعة لاختبار تجميعات القمر الصناعي الخاص بك قبل نشر تطبيق الخاص بك.

راجع أيضًا:

المهام

الإرشادات التفصيلية: تحميل التجميعات القمر الصناعي عند الطلب مع توزيع ClickOnce API

المبادئ

تعريب ونشر ClickOnce