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

gmxoilav  于 2022-11-26  发布在  .NET
关注(0)|答案(1)|浏览(134)

我如何确定一个文件是否是来自一个目录的有效的msbuild文件,这个目录可能有很多xml文件?我正在阅读目录中的所有文件,使用BeautifulSoup解析它们,确定它们是否有一个project元素,以及 itemgrouptargetcompile 元素中的任何一个,但是这种方法返回了很多误报。有没有可能使这个方法更严格一些?

wgmfuz8q

wgmfuz8q1#

对于初学者来说,您应该认识到应该对msbuild文件使用标准命名约定。业界使用 .vcxproj、.csproj、.vbproj(等等)、.targets、.props、.proj(有时),甚至更少的 *. xml。
其次,您应该使用msbuild项目API来完成所有繁重的猜测工作。https://learn.microsoft.com/dotnet/api/microsoft.build.evaluation.project
您可以使用Project类别载入msbuild档案,如下所示:

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

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

相关问题