2

鉴于我在 TFS 源代码存储库中有一个文件。我试图以编程方式发现该文件属于哪个cs项目,然后哪些其他项目\解决方案依赖于该项目的输出。

我怎么能这样做呢?

4

2 回答 2

2

proj文件是 XML 文件,如果你解析它们,你会在ItemGroup. 您可能会发现多个ItemGroup元素。有些有类型的孩子CompileContents......等等所以我建议你检查其中的几个,以了解我在说什么。cs文件很可能在Compile

对于您的项目依赖项,我以前从未这样做过,但是如果在您的解决方案中声明了依赖项,那么在每个项目中您都应该找到ProjectReference它所依赖的其他项目。

总之,您需要解析项目文件 XML,然后查询您的源文件和项目依赖项。

于 2013-08-13T13:18:58.023 回答
0

这些csproj文件是基于 Xml 的文件,因此您可以轻松打开文件、处理 Xml 并搜索文件。对于文件,您可以通过在其中搜索 TagItemGroup和在ItemGroupTag中搜索文件来查找文件是否包含在项目中Compile,如果文件用于编译,则根据文件性质GroupItem在或其他中搜索None

要搜索引用的项目,您必须在GroupItem标签中搜索关于ProjectReference标签

还有其他有用的标签,如资源内容、无...等。

我鼓励你打开你csproj的记事本++,看看你能找到什么,这很简单。

于 2013-08-13T13:29:54.717 回答