أحتاج إلى مساعدة في مزامنة Perforce على جهاز بعيد مع C#

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

  •  23-09-2019
  •  | 
  •  

سؤال

مرحبًا ، أود أن أكون قادرًا على مزامنة Perforce على خادم البناء الخاص بي من خادم آخر بشكل برمجي باستخدام C#. الخادم A لديه exe على ذلك. الخادم B لديه perforce.

لدي امتيازات المسؤول على كلا الجهازين.

أود استخدام شيء مثل

System.Diagnostics.Process.Start("p4 sync", "\"" + path + @""" -f //release/production/...")

لدي اتصال الكمبيوتر

ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2");

scope.Connect();

أنا غير قادر على معرفة كيفية وضع كل شيء معًا. أي مساعدة سيكون موضع تقدير كبير. شكرًا لك

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

المحلول

تمكنت من معرفة ذلك:

public static void perforce_sync()
    {

        string computer_name = @"server_name";
        ManagementScope scope = new ManagementScope("\\\\" + computer_name + "\\root\\cimv2");
        scope.Connect();
        ObjectGetOptions object_get_options = new ObjectGetOptions();
        ManagementPath management_path = new ManagementPath("Win32_Process");
        ManagementClass process_class = new ManagementClass(scope, management_path, object_get_options);
        ManagementBaseObject inparams = process_class.GetMethodParameters("create");
        inparams["CommandLine"] = @"p4 sync -f //release/...";
        ManagementBaseObject outparams = process_class.InvokeMethod("Create", inparams, null);
        Console.WriteLine("Creation of the process returned: " + outparams["returnValue"]);
        Console.WriteLine("Process ID: " + outparams["processId"]);

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