Как я могу определить, является ли XML-файл допустимым файлом сборки msbuild? - PullRequest
1 голос
/ 16 мая 2019

Как определить, является ли файл допустимым файлом msbuild из каталога, в котором может быть много файлов xml? Я читаю все файлы в каталоге, анализирую их с помощью BeautifulSoup, определяя, есть ли у них элемент проекта и какой из элементов itemgroup , target или compile , но этот подход возвращает много ложных срабатываний. Можно ли сделать это строже?

1 Ответ

0 голосов
/ 17 мая 2019

Для начала осознайте, что вы должны использовать стандартное соглашение об именах для файлов msbuild.В отрасли используются * .vcxproj, * .csproj, * .vbproj, (и т. Д.), * .Targets, * .props, * .proj (иногда) и даже меньше * .xml.

Во-вторых, вы должны использовать API проекта msbuild, чтобы выполнить всю тяжелую работу по угадыванию за вас.Не изобретайте колесо: 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...