【发布时间】:2018-05-12 23:26:58
【问题描述】:
我在 Visual Studio 中有一个解决方案,其中一个配置允许每个项目静态链接到主 exe,另一个配置将每个项目编译为自己的 dll。
我的想法是我可以使用 DLL 进行开发,最大限度地减少编译和链接期间的停机时间,但是当我向公众发布时,只有一个 exe。
不幸的是,这意味着在其中一个项目中创建的类型似乎需要 2 个 natvis 文件,以便可以在任一配置中进行调试。
除了 myProject.dll 之外,这 2 个 natvis 文件是相同的!应用于 dll 配置的 natvis 中的所有命名空间的前缀。 (运行静态链接的 exe 时,包含对 dll 中类型的引用的 natvis 失败,导致整个文件被忽略,而不仅仅是该类型)
这种情况的最佳解决方案是为每种类型维护 2 个 natvis 文件吗?是否可以从模板生成 natvis?是否可以对 dll 的引用设为可选?
(我使用的是 Visual Studio 2015,但如果 2017+ 有解决方案,请告诉我)
谢谢
【问题讨论】:
标签: c++ visual-studio dll visual-studio-2015 natvis