- PR -

マネージ拡張DLLの/NOENTRYについて

1
投稿者投稿内容
hiroron
会議室デビュー日: 2002/02/19
投稿数: 2
投稿日時: 2003-07-16 19:41
VisualC++6.0で作成したADOを使用した拡張DLLがありました。
これを.NETに移行してADO部分をADO.NETに書き直そうと考えました。
MFCの拡張DLLのプロジェクトを作成しマネージ拡張を「はい」と設定しました。
ソース(抜粋)は↓こんなかんじです。
-------------------------------------------
Foo.h
-------------------------------------------
class AFX_EXT_CLASS CFoo
{
public:
CFoo() {}
int Func(CString str);
};
-------------------------------------------
Foo.cpp
-------------------------------------------
#include "stdafx.h"
#include "Foo.h"
#using <mscorlib.dll>
#using <System.dll>
#using <System.data.dll>
using namespace System;
using namespace System:ata;
using namespace System:ata::SqlClient;
int CFoo::Func(CString str)
{
int ret = 0;
SqlConnection* conn;
conn = new SqlConnection(str);



return ret;
}
-------------------------------------------
とりあえずは動作するのですが、ビルドすると「LINK : warning LNK4243:/clr を使用してコンパイルされたオブジェクトを含む DLL は、/NOENTRY とリンクされていません。イメージが正しく実行されない可能性があります。」がでます。
http://support.microsoft.com/?id=814472
あたりが、関連情報ではないかと思います。
ビルドの警告をこのままにしておくと問題ありそうなのですが、結局どうすればよいのかがよくわかりません。
どなたかご教授いただけませんでしょうか。
また、MFCのCStringをそのままSqlConnectionとかに渡して問題ないものなのでしょうか。
よろしくお願いします。
1

スキルアップ/キャリアアップ(JOB@IT)