主な目標:Python(2.6)で使用できるC#ライブラリ用のラッパーを作成します。PythonでC#ライブラリ用のラッパーを作成する
更新:私が使用している方法の更新がありましたが、うまくいきません。
シンプルなC#クラスライブラリのコードは:
using System;
using System.Text;
using System.Runtime.InteropServices;
namespace Test
{
[Guid("8F38030D-52FA-4816-B587-A925FDD33302")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
public interface _TestClass
{
[DispId(1)]
string Eureka();
}
[Guid("BC3F6BB3-42C4-4F30-869A-92EA45BF68D2")]
[ClassInterface(ClassInterfaceType.None)]
[ProgId("Test.TestClass")]
public class TestClass : _TestClass
{
public TestClass()
{
}
public string Eureka()
{
return "Hudson, we no longer have a problem!";
}
}
}
enter code here
は、これに加えて、私はプロジェクトのプロパティに入り、設定有効:COM相互運用機能に登録します。
また、クラスライブラリをCOMで利用できるようにするために、Signing - > Signing the Assemblyをチェックし、それに強力なキーを付けました。
私はコンパイルするたびにまた、私は古いバージョンの登録を解除:
regasm -u Test /tlb:Test
そして私はそれを登録します。
ます。regasm Test.dllの/ TLB:テスト
私の問題は、Python環境で、次のmain.pyが動作していないことです。
import win32com.client
o = win32com.client.Dispatch("Test.TestClass")
エラーは許されません。
ありがとうございます!
可能複製(http://stackoverflow.com/questions/2077870/how-to-load-ac-dll-in- Python) –
私はそれを読んだことがありますが、それは同じ話題ですが、私は私の問題を理解していません。 –