鉴于我在TFS源代码存储库中有一个文件。我试图以编程方式发现该文件属于哪个cs项目,然后其他项目\解决方案依赖于该项目的输出。
我怎么能这样做?
答案 0 :(得分:2)
proj 文件是XML文件,如果解析它们,您会在ItemGroup
下找到所有项目文件。您可能会找到多个ItemGroup
元素。有些孩子的类型为Compile
,Contents
......等等,所以我建议您检查其中几个,以了解我在说什么。 cs 文件最有可能位于Compile
对于你的项目依赖项,我之前从未这样做过,但是如果你的解决方案中的依赖项是声明,那么在每个项目中你应该找到一个ProjectReference
到它所依赖的其他项目上。
总之,您需要解析项目文件XML,然后查询源文件和项目依赖项。
答案 1 :(得分:0)
csproj
文件是基于Xml的文件,因此您可以轻松打开文件,处理Xml并搜索文件。
对于文件,如果文件用于编译,则可以通过搜索标记ItemGroup
和ItemGroup
标记Compile
内的文件来查找文件是否包含在项目中。不根据文件性质GroupItem
None
或其他内容搜索
要搜索引用的项目,您必须在GroupItem
关于ProjectReference
标记
还有其他有用的标签,例如资源内容,无......等等。
我鼓励您在记事本++中打开csproj
,看看你能找到什么,这很简单。