- PR -

デザイン時にプロジェクトが参照しているdllの情報を取得したい

1
投稿者投稿内容
CHX99
会議室デビュー日: 2007/05/18
投稿数: 12
投稿日時: 2007-05-18 17:53
デザインモード下で、ソリューションエクスプローラーの「参照設定」フォルダにあるdllの名前やパスの情報を取得したいのですが、方法が分かりません。

EnvDTE.Projectから取得できるかと思い、色々試みましたがうまく行きません。
方法をご存知の方がおられましたら、ご教授願います。

環境はVS.Net2003、言語はC#です。

よろしくお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2007-05-18 20:41
引用:

ゆたっちょさんの書き込み (2007-05-18 17:53) より:

EnvDTE.Projectから取得できるかと思い、色々試みましたがうまく行きません。


これは、Properties の中にもなかったということでしょうか?
(proj ファイルと突き合わせるとありそうなのですが)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
CHX99
会議室デビュー日: 2007/05/18
投稿数: 12
投稿日時: 2007-05-18 23:03
じゃんぬねっとさん、Propertiesにもありませんでした。
で、色々調べた結果自己解決出来そうです。開発機が手元にないので未検証ですが、

EnvDTE.Project proj;
... // proj初期化(略)
VSLangProj.VSProject vsProj = proj.Object as VSLangProj.VSProject;
IEnumerator reader = vsProj.References.GetEnumerator():
while( reader.MoveNext() )
{
VSLangProj.Reference refObj = reader.Current as VSLangProj.Reference;
MessageBox.Show( string.Format( "参照項目名 = {0}", refObj.Name ) );
}

って感じで行けそうです。
VC++はアンマネージド項目への参照設定が可能なので、VC#やVBと同一に出来なかったようです。もっと勉強せねば ToT;

じゃんぬねっとさん、他みなさんありがとうございました。
1

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