C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[2]: C#のDLLをC++で読み込む場合のインスタンス作成方法
(過去ログ 108 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 3 記事 (1 - 3 表示)] <<
0
>>
■64340
/ inTopicNo.1)
C#のDLLをC++で読み込む場合のインスタンス作成方法
▼
■
□投稿者/ howling
(103回)-(2012/11/27(Tue) 17:01:59)
分類:[.NET 全般]
度々お世話になっております。
C#で作成したDLLをC++/CLIから呼ぶ方法なのですが、
COMを使わない場合にどのようにインスタンスを作成すれば良いのか、いまいちわかりません。
COMを使う場合はGACとアセンブリに登録して、tlbファイルを参照していたのでわかりましたが、
DLLのみではヘッダに当たる物がありませんよね。
ちょっと古い情報なのですが、
επιστημηさんがそれらしい方法を書いてくださっていました。
http://rarara.cafe.coocan.jp/cgi-bin/lng/vc/vclng.cgi?print+200509/05090014.txt
ですが、C#側で名前空間を指定しているせいか、インスタンスを作成しようにも、クラスがどうも見当たりません。
どのようにすればよろしいでしょうか。
//cs側
namespace ClassLibrary1
{
public class SVNLinker : ISVNLinker
{
private SvnClient clsSVNClient = new SvnClient();
public SVNLinker(){}
public CheckOut(string strRepositryURL)
{
//ごにょごにょ
}
}
}
//C++側
win32プロジェクトを作って、
#include <tchar.h>
#using <mscorlib.dll>
#include <iostream>
をヘッダ部分に追加し、
ClassLibrary1::SVNLinker* p = gcnew ClassLibrary1::SVNLinker();
//エラー
2>testwindow.cpp(155): error C2653: 'ClassLibrary1' : 識別子がクラス名でも名前空間名でもありません。
と、こんな状況です。
どなたかわかりましたら、よろしくお願いします。
引用返信
編集キー/
編集
■64341
/ inTopicNo.2)
Re[1]: C#のDLLをC++で読み込む場合のインスタンス作成方法
▲
▼
■
□投稿者/ とっちゃん
(28回)-(2012/11/27(Tue) 18:17:09)
■
No64340
(howling さん) に返信
ClassLibrary1.SVNLinker を持つDLLまたは、C#のプロジェクトをC++/CLI のプロジェクトで参照していますか?
プロジェクト(あるいはDLL)を参照するという行為は、C/C++ では、#include "..." や、#pragma comment( lib, "...")
を記述するのとほぼ同義となります。
やり方がわからん!という場合は、まず、「MSDNライブラリ」(VS上で、Ctrl+F1キーを押すと出る)でご自身でお調べください。
それでもやっぱりわからなかったー!という場合は、何を調べたか(キーワードなど)も記述したうえで質問することをお勧めします。
引用返信
編集キー/
編集
■64342
/ inTopicNo.3)
Re[2]: C#のDLLをC++で読み込む場合のインスタンス作成方法
▲
▼
■
□投稿者/ howling
(104回)-(2012/11/27(Tue) 18:51:46)
■
No64341
(とっちゃん さん) に返信
あ…プロジェクトの参照設定ってC++でもできるんですね…。
初歩的な質問ですみませんでした。DLLの読み込みで調べたのが間違いだったのかな…。
ありがとうございました。もう少し色々調べてから質問するように心がけます。申し訳ありませんでした。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-