私はビジュアルスタジオアドインプロジェクトを持っています。ここでは、現在のプロジェクトのアイテムを反復処理し、絶対パス(または相対パス)を使用する必要があります。item.Document.FullNameを使用せずにProjectItemパスを取得
item.Document.FullName
が機能しますが、現在開いているファイルのみが対象です。
DTE
オブジェクトのこの情報にアクセスする他の方法はありますか?
私はビジュアルスタジオアドインプロジェクトを持っています。ここでは、現在のプロジェクトのアイテムを反復処理し、絶対パス(または相対パス)を使用する必要があります。item.Document.FullNameを使用せずにProjectItemパスを取得
item.Document.FullName
が機能しますが、現在開いているファイルのみが対象です。
DTE
オブジェクトのこの情報にアクセスする他の方法はありますか?
XMLプロジェクトファイルを自分で解析しない限り、最初にアンロードされたプロジェクトをロードする必要があります。
リストを記録してから再びアンロードします。唯一の問題は、ロードにかかる時間です。
ProjectItem.FileNamesは、あなたが「MyWebForm」と呼ばれるWEBフォーム項目を持っている場合は、にProjectItem.FileNamesからの完全なパスを取得することができる。例えば、関連するファイル
の完全なパスを表しコレクションですMyWebForm.ascxファイルとMyWebForm.ascx.cs(CodeBehind)ファイルの絶対パス名
これはあなたの探しているものですか?
myProjectItem.Properties.Item(「フルパス」)。バリュー
がさえ、私はドキュメントやファイル名に基づいて、プロジェクト名を取得するために解決策を探していました。私はdteオブジェクトを使用してそれを見つけました。 以下のようにdteオブジェクトを初期化しました。
EnvDTE80.DTE2 objDTE = this.GetService(typeof(SDTE)) as EnvDTE80.DTE2;
次に、次のコードを使用してプロジェクト名を取得します。
var projectItem = objDTE.Solution.FindProjectItem(document);
var projectUniqueName = projectItem.ContainingProject.UniqueName;
そして、このリンクのProjectItemのプロパティリストに含まれているかについて、いくつかのより具体的な情報があります)http://msdn.microsoft.com/en-us/library/ms228957(v=vs.90を.aspx –
プロパティのリストはありますか? – Hooch