相关疑难解决方法(0)

列出使用 Mono.Cecil 调用方法的所有引用

我正在开发一个项目来清理遗留代码,并且需要以编程方式查找调用 .​​NET 4.5 服务引用(即 Reference.cs 文件)中某些 SOAP Web 方法的所有引用,以便我可以输出到文本文件或 Excel(基本上,引用如 CodeLens 功能所列)。我想我会使用Mono.Cecil库来完成这项任务。

我有指定程序集和类的方法,效果很好,因为我可以打印要查看的所有方法的列表。但是关于如何获取特定方法的参考列表有什么想法吗?

// assemblyName is the file path for the specific dll   
public static void GetReferencesList(string assemblyName)
    {
        AssemblyDefinition assembly = AssemblyDefinition.ReadAssembly(assemblyName);

        foreach (ModuleDefinition module in assembly.Modules)
        {
            foreach (TypeDefinition type in module.Types)
            {
                if (type.Name.ToLowerInvariant() == "classname")
                {
                    foreach (MethodDefinition method in type.Methods)
                    {
                        if (method.Name.Substring(0, 4) != "get_" &&
                            method.Name.Substring(0, 4) != "set_" &&
                            method.Name != ".ctor" &&
                            method.Name != ".cctor" &&
                            !method.Name.Contains("Async"))
                        {
                            //Method …
Run Code Online (Sandbox Code Playgroud)

.net c# reflection mono

3
推荐指数
1
解决办法
2529
查看次数

.NET 编译器平台:不工作

我安装了 Microsoft Visual Studio Enterprise 2017 版本 15.5.5(显然是最新版本)。但是,我不能使用 .NET Compiler Platform SDK。我曾经把它作为一个扩展,现在它只是没有警告。警告说:“此扩展已禁用,因为安装的版本与 Visual Studio 不兼容。请转到更新选项卡以获取此扩展的最新版本以启用它”。更新选项卡上没有任何内容。

在此处输入图片说明

知道我该如何解决这个问题吗?

.net visual-studio roslyn visual-studio-2017

2
推荐指数
1
解决办法
537
查看次数

标签 统计

.net ×2

c# ×1

mono ×1

reflection ×1

roslyn ×1

visual-studio ×1

visual-studio-2017 ×1