Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .cs文件、项目和解决方案_C#_.net_Msbuild_Csproj - Fatal编程技术网

C# .cs文件、项目和解决方案

C# .cs文件、项目和解决方案,c#,.net,msbuild,csproj,C#,.net,Msbuild,Csproj,假设我在TFS源代码存储库中有一个文件。我试图通过编程发现该文件属于哪个cs项目,然后是哪个其他项目\解决方案依赖于该项目的输出 我该怎么做呢?proj文件是XML文件,如果您解析它们,您会在ItemGroup下找到所有项目文件。您可能会找到多个ItemGroup元素。有些孩子的类型是Compile,Contents…等等,所以我建议你检查一下其中的几个孩子,以了解我在说什么cs文件最有可能在Compile 对于您的项目依赖关系,我以前从未这样做过,但是如果在您的解决方案中声明了依赖关系,那么在

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


我该怎么做呢?

proj文件是XML文件,如果您解析它们,您会在
ItemGroup
下找到所有项目文件。您可能会找到多个
ItemGroup
元素。有些孩子的类型是
Compile
Contents
…等等,所以我建议你检查一下其中的几个孩子,以了解我在说什么cs文件最有可能在
Compile

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


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

csproj文件是基于XML的文件,因此您可以同时打开文件、处理XML并搜索文件。 对于文件,您可以通过在文件中搜索标记
ItemGroup
并在
ItemGroup
内搜索标记
Compile
来查找文件是否包含在项目中,如果文件是用于编译的,如果不在
GroupItem
内搜索
None
或根据文件性质搜索其他文件

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

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


我鼓励您在记事本++中打开您的
csproj
,看看您能找到什么,它非常简单。

要求我们推荐或查找工具、库或喜爱的非现场资源的问题因堆栈溢出而脱离主题确定我已相应地编辑了该问题。