Vous devrez écrire une application ou un plugin Visual Studio pour exclure les fichiers des projets. Personnellement, je voudrais juste créer une application qui procédez comme suit:
- trouver récursive tous les fichiers .csproj dans votre arbre de code
- Ouvrez le fichier cproj en le chargeant dans un objet XmlDocument
- Utilisez XPath (par exemple XmlDocument .SelectSingleNode()/SelectNodes()) pour trouver la balise du fichier en question.
- Retirez le nœud et enregistrez le fichier en arrière sur le disque en utilisant XmlDocument.Save
Il ferait une section qui ressemble à ceci:
<ItemGroup>
<EmbeddedResource Include="licenses.licx" />
<EmbeddedResource Include="img.jpeg" />
</ItemGroup>
ressembler à ceci:
<ItemGroup>
<EmbeddedResource Include="licenses.licx" />
</ItemGroup>
Exemple de code XPath pour trouver le noeud:
XmlDocument csprojDoc; // this is the document you loaded your csproj XML into
XmlNamespaceManager xnm; // you'll need to build one of these because csproj files use namspaces in the XML
XmlNode excludeNode =
csprojDoc.SelectSingleNode("//ns:ItemGroup/ns:EmbeddedResource[@Include='img.jpeg']", xnm);
excludeNode.ParentNode.ChildNodes.Remove(excludeNode);
On dirait que c'est beaucoup mieux que mon script powershell :-) – Shoban