C#で作成したDLLをC++EXEから呼出す方法についてご質問があります。
今回のプロジェクトでC#/EXEとC++/EXEが混在したシステムを
構築する事になりました。
私は、C#でのファイルログ出力共通部品(DLL)担当になりました・・・
同一機能でC#用DLLとC++用DLLを二つ作成するのは、作業量の問題から
出来れば避けたいと考えております。
要は、C++/EXEからC#/DLLをCALL出来れば問題ないと思うのですが
単刀直入に、可能なのでしょうか?
C#初心者なので、もし可能であるならば実装方法までご教授願います。
よろしくお願い致します。
開発環境 ------------------------------------------------
【OS】
Windows2000 SP3
【C#開発環境】
Visual C# .NET 2003
Visual C++ .NET 2003
--------------------------------------------------------
VC# は Managed なコードしかコンパイルできません。
Managed C++ なら C# でコンパイルした dll を
共有出来るだろうと思います。
Managed C++ が選択できないのなら、
VC++ で win32 ネイティブな dll を書いて、C# 側で DllImport するとか。
VC++ で ActiveX DLL にして、C# で参照設定って手もあると思いますが。
全部推測なんで参考程度に。
あと、開発環境に C++ は Win32 ネイティブなのか、
Managed なのか書いた方がいいですよ。
suzuka さんレスポンスありがとうございました。
早速、下記に環境説明を修正します。
私もあれこれ調べましたが、やはりDLLは、C++で構築する
しかなさそうですね・・・
ActiveX も視野に入れて、もうしばらく探ってみます。
.NET Framework上で作成されたプログラムは、ActiveX
だろがCOMだろうが.NET Framework内部でしか使えないって事
なんでしょうかね・・・・ 多分・・・
開発環境(改訂) ------------------------------------------------
【OS】
Windows2000 SP3
【開発ツール】
VS.NET 2003
【開発言語】
Visual C#
Visual C++(Win32 Native)
----------------------------------------------------------------