0

プロジェクトテンプレートウィザード内でこのコードを使用しています。

DTE dte = project.DTE;
VSProject vsProj = (VSProject)project.Object;

Array projects = (Array)dte.ActiveSolutionProjects;
Project activeProject = (Project)projects.GetValue(0);

しかし、プロジェクトがどのような順序で返されるのか興味がありますか?上記のコードは、プロジェクトが作成された直後に実行されます。

public void ProjectFinishedGenerating(Project project)

プロジェクトはどのような順序で返されますか?私の目標は最新のプロジェクトを取得することです、GetValue(0)それをしますか?

4

1 に答える 1

1

私はこれをしばらく前に見ましたが、順序は決定的ではないようです。

GetValue(0) はアクティブなプロジェクトで、最新のプロジェクトではない可能性があります。

最新のものを見つけるには、プロジェクト ファイルのファイル スタンプ (保存されている場合) を使用してプロジェクトをトラバースし、保存されていないものを上位にランク付けする必要があります。

于 2010-12-14T14:47:05.510 に答える