有没有人知道从c#项目中大规模排除特定文件的方法?我不想删除它们,我知道我可以将它们的各个属性设置为隐藏或使用.exclude扩展名更改文件名,但我想知道它们是否是Visual Studio中的一种方式来执行此操作。
例如,如果我有1000个文件名为img.jpeg的目录,我想从每个目录中排除该文件。
谢谢!
答案 0 :(得分:0)
如果您只是想从项目中删除它们(不删除实际文件),请使用编辑器打开.csproj文件,该编辑器可以进行搜索并替换比记事本(至少是通配符)更好一点并删除条目这些文件。保存.csproj文件并在Visual Studio中重新打开。
注意:Visual Studio是一个非常好的编辑器,因为它还具有良好和快速的多文件搜索和替换。您只需将.csproj作为文本文件打开,而不是双击它。
答案 1 :(得分:0)
您必须编写应用程序或Visual Studio插件才能从项目中排除文件。就个人而言,我只想创建一个执行以下操作的应用程序:
所以它会产生一个看起来像这样的部分:
<ItemGroup>
<EmbeddedResource Include="licenses.licx" />
<EmbeddedResource Include="img.jpeg" />
</ItemGroup>
看起来像这样:
<ItemGroup>
<EmbeddedResource Include="licenses.licx" />
</ItemGroup>
用于查找节点的示例XPath代码:
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);