Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.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# 如何在.NET程序集中包含源代码位置信息(文件/行/列)?_C#_.net_Reflection_Assemblies_Pdb Files - Fatal编程技术网

C# 如何在.NET程序集中包含源代码位置信息(文件/行/列)?

C# 如何在.NET程序集中包含源代码位置信息(文件/行/列)?,c#,.net,reflection,assemblies,pdb-files,C#,.net,Reflection,Assemblies,Pdb Files,我需要能够从.NET程序集获取源文件中的类/结构/接口定义位置(文件名、开始行、开始列、结束行、结束列) 我想到的第一个解决方案是使用一些pdb查询api,但似乎我只能通过这种方式为方法定义获取此类信息。也许我错了 为了提供上下文,我正在尝试构建VS2008的一个插件,它通过VS自动化模型编译所有解决方案项目,获取程序集,并使用反射进行一些可视化建模表示。我需要的是源代码和模型元素之间的连接。事实上,我甚至可以通过某种方式分析/修改来源,让他们记住位置信息 任何想法都将不胜感激。我假设现有的类图

我需要能够从.NET程序集获取源文件中的类/结构/接口定义位置(文件名、开始行、开始列、结束行、结束列)

我想到的第一个解决方案是使用一些pdb查询api,但似乎我只能通过这种方式为方法定义获取此类信息。也许我错了

为了提供上下文,我正在尝试构建VS2008的一个插件,它通过VS自动化模型编译所有解决方案项目,获取程序集,并使用反射进行一些可视化建模表示。我需要的是源代码和模型元素之间的连接。事实上,我甚至可以通过某种方式分析/修改来源,让他们记住位置信息


任何想法都将不胜感激。

我假设现有的类图对您没有帮助,并且您不能使用已经知道如何对C#进行反向工程的工具?之所以想到这一点,是因为它不仅可以进行逆向工程,还可以对生成的模型运行用户定义的转换。您应该能够从中生成任何您想要的东西,无论是在模型方面还是在工件方面


你也要考虑一个类可能是部分的——同一个类可能存在于多个片段中。

YAAP。Sparx EA很棒,但我需要自己的case工具。从这一点上,我不能提供的是模型元素和源代码之间的连接。我确实理解一个类可能是局部的,一个方法和其他困难的东西,但我需要以某种方式去做。谢谢你的回复。