2009-08-07 11 views

Odpowiedz

4

Nie, trzeba użyć Managed C++

+2

Albo wrapper napisany w zarządzanym C++. –

+0

Dokładnie. W tym celu tworzymy cienkie opakowanie ze standardowymi zewnętrznymi eksportami "C" w Managed C++, a następnie piszemy prawdziwy kod w C#. – ConsultUtah

1

Bez użycia COM, trzeba napisać C++/CLI otoki. Twój natywny kod, który zawiera plik nagłówkowy twojego wrappera, musi być skompilowany z/clr (obsługa runtime dla wspólnego języka).

Tylko dla ciekawości, dlaczego nie używać współdziałania COM? Sprawdź narzędzia regasm.exe i tlbexp.exe.

+0

Ponieważ nie jestem zaznajomiony z COM i zrobi wszystko, co mogę, aby go nie uczyć :) –

+1

COM również cierpi z powodu nieprzyjemnego problemu z piekłem DLL ze względu na globalną rejestrację. Możliwe jest wykonanie COM bez rejestracji, ale dokumentacja jest myląca i występują błędy http://stackoverflow.com/questions/617253/is-anyone-successfully-using-registration- free-com-with-net-components –

1

Potrzebujesz czegoś, co sprawi, że zarządzany świat i niezarządzany świat będą ze sobą współpracować. Jeśli nie chcesz używać COM, możesz tworzyć klasy opakowujące w C++/CLI.

Oto artykuł, który może Ci pomóc: .NET to C++ Bridge.

+0

Ty do artykułu. To jest pomocne. –

Powiązane problemy