2017-05-22 2 views
-2

Ich schrieb einen C# -Code für die Verbindung mit Microsoft SharePoint, aber ich muss es von Python nennen bedeutet, dass ich Python fragen möchte, um diesen Code auszuführen, ist es möglich? Wenn ja, wie kann ich das tun?So rufen Sie einen C# -Code von Python

Antwort

1

Die kurze Antwort wäre eigentlich recht einfach

os.system("myapp.exe") 
+0

vergessen Sie nicht 'Import os' – WhatsThePoint

+1

, wenn Sie eine Antwort geben für diese offensichtliche Täuschung, tu es wenigstens richtig. 'os.system' ist veraltet,' subprocess' Modul ist der bevorzugte Weg. Und Rückkehrcode sollte überprüft werden. –

0

Es ist sein. Verwenden Sie einfach NuGet, um das "UnmanagedExports" -Paket zu Ihrem .Net-Projekt hinzuzufügen. Details siehe https://sites.google.com/site/robertgiesecke/Home/uploads/unmanagedexports.

Sie können dann direkt exportieren, ohne eine COM-Ebene zu erstellen. Hier ist die Probe C# -Code:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Runtime.InteropServices; 
using System.Text; 
using System.Threading.Tasks; 
using RGiesecke.DllExport; 

class Test 
{ 
    [DllExport("add", CallingConvention = CallingConvention.Cdecl)] 
    public static int TestExport(int left, int right) 
    { 
     return left + right; 
    } 
} 

Anschließend können Sie die DLL laden und die freigelegten Methoden in Python aufrufen (funktioniert für 2,7)

import ctypes 
a = ctypes.cdll.LoadLibrary(source) 
a.add(3, 5)