0

我有一个用 C 编写的本机 Win32 项目,并希望从外部 DLL 可视化我的项目的依赖关系。Visual Studio 2012 和 2013 让我生成了一个代码图,它不仅可以使用箭头显示我的所有函数及其相互依赖关系,还可以显示我使用的所有外部库、我从这些库中使用了哪些函数以及我的哪些函数调用了哪个外部库功能等。

现在,在 Visual Studio 2015 中,后半部分似乎不见了。我无法让 Visual Studio 显示我的项目的外部依赖项。我只看到内部的。所以这是我的问题:我错过了什么吗?我是否必须在我的项目设置中激活特定选项?还是这些外部依赖项现在在 Visual Studio 2015 中不起作用?

重现步骤: 创建一个新的非空 Win32 项目。在Architecture菜单中,选择Generate code map for solution。您只会在屏幕中间看到 Win32Project1.exe。同时,Visual C# 似乎很好,显示了外部依赖项。创建任何 C# 项目以进行比较。

4

2 回答 2

1

Thank you for taking the time to post this! This looks like a regression, as in Visual Studio 2013 an Externals group with external dependencies is shown for C++.

I've logged a bug on Microsoft Connect so that you're able to track this externally:

https://connect.microsoft.com/VisualStudio/feedback/details/1694695

于 2015-08-21T10:40:02.097 回答
0

我已经在 Bogdan Gavril 列出的链接上发布了这个解决方法,希望它对某人有所帮助。不幸的是,它要求您为您的项目启用“CLR”支持。基本上,看起来 VC++ 链接器和图书馆员正在寻找一个标志来指示某种类型的托管代码。至少,代码映射依赖于mscorlib.dll引用注入。为了减少 CLR 问题(这为本地代码增加了许多不必要的体积),只需创建一个新的构建配置,以便仅在需要具有外部依赖项的代码映射时使用。确保您在项目属性配置页面的常规选项中选择了“CLR 支持”。然后,清理(可能没有必要)您的解决方案并生成代码图。您将按预期找到外部依赖项!

扎克

于 2015-09-28T15:30:15.660 回答