如何确定xml文件是否为有效的msbuild构建文件?

时间:2019-05-16 15:08:04

标签: .net msbuild

如何从目录中确定文件是否为有效的msbuild文件,该目录可能包含许多xml文件?我正在读取目录中的所有文件,使用BeautifulSoup解析它们,确定它们是否具有project元素,以及 itemgroup target compile 元素,但是这种方法会返回许多误报。有可能对此做得更严格吗?

1 个答案:

答案 0 :(得分:0)

对于初学者来说,您应该对msbuild文件使用标准命名约定。行业使用* .vcxproj,*。csproj,*。vbproj(等),*。targets,*。props,*。proj(有时),甚至更少的* .xml。

第二,您应该使用msbuild项目API为您完成所有繁重的猜测工作。不要重新发明轮子: https://docs.microsoft.com/en-us/dotnet/api/microsoft.build.evaluation.project?view=netframework-4.8

使用该类,您可以使用Project类来加载msbuild文件,如下所示:

var p = new Microsoft.Build.Evaluation.Project("C:\somefile.targets");

如果不是msbuild文件,则捕获异常。