有谁知道的方式大规模地从C#项目中排除特定的文件排除?我不想删除它们,并且我知道我可以将它们的各个属性设置为隐藏或使用.exclude扩展名来更改文件名,但是我想知道它们是否是Visual Studio中的一种方式来执行此操作。选择所有文件与一个特定的名称,并在C#
举例来说,如果我有1000个目录与文件名img.jpeg,我要排除的每个目录中的文件。
谢谢!
有谁知道的方式大规模地从C#项目中排除特定的文件排除?我不想删除它们,并且我知道我可以将它们的各个属性设置为隐藏或使用.exclude扩展名来更改文件名,但是我想知道它们是否是Visual Studio中的一种方式来执行此操作。选择所有文件与一个特定的名称,并在C#
举例来说,如果我有1000个目录与文件名img.jpeg,我要排除的每个目录中的文件。
谢谢!
如果您只是想从项目中删除它们(而不删除实际文件),请使用编辑器打开.csproj文件,该编辑器可以执行搜索并取代比记事本稍好的通配符(至少包含通配符)并删除条目为这些文件。保存.csproj文件并在Visual Studio中重新打开。
注:Visual Studio是这个一个相当不错的编辑器,因为它也有一个很好的和快速的多文件搜索替换&。您只需将.csproj作为文本文件打开,而不是双击它。
你必须写一个应用程序或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);
看起来这比我的powershell脚本好多了:-) – Shoban 2010-12-15 18:18:36