ここでは、指定されたファイルstring
で終了するファイルを検索するために使用しているコードを示します。
構造は、Visual Studioのソリューションエクスプローラのようなものです:あなたのコードが実行されているどこ
Solution -> ProjectItems -> (Nested ProjectItems) -> FileNames
、あなたはソリューションでプロジェクトをプルアップし、それらのプロジェクトで、その後ProjectItemsことができます。
private void RecursiveProjectItemSearch(ProjectItem projectItem, string typeFileName)
{
for (short i = 0; i < projectItem.FileCount; i++)
{
var fileName = projectItem.FileNames[i];
if (fileName.EndsWith(typeFileName))
{
// In my case, I want to open the file that I'm searching for
_applicationObject.ItemOperations.OpenFile(fileName);
}
foreach(ProjectItem childProjectItem in projectItem.ProjectItems)
{
RecursiveProjectItemSearch(childProjectItem, typeFileName);
}
}
}
asdasd
var typeFileName = @"\MyClassName.cs";
// Search each Project in the Solution, exclude Unit Test Projects
foreach (Project item in _applicationObject.Solution.Projects.OfType<Project>().Where(p => !p.Name.EndsWith(".Tests")))
{
// Search each ProjectItem recursively
foreach (ProjectItem projectItem in item.ProjectItems)
{
RecursiveProjectItemSearch(projectItem, typeFileName);
}
}
これは、これを行うための最も最適な方法であるかどうかは知りませんが、それは動作するはずです。上のコードを与えれば、File.Open()
を実行して内容やそれに類するものを読むことができます。