0

我在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+ 有解决方案,请告诉我)

谢谢

4

1 回答 1

1

我正在使用 Microsoft Visual Studio Community 2017 版本 15.6.2,它适用于我的单个 .natvis 类型 decl。我在一个共享项目中有我的 .natvis 和头文件,我的共享项目的实现 .dll 项目和我的应用程序的 .exe 项目都引用了它。我只是指定了没有 Shared.dll 的简单类型名称!前缀,它的工作原理。我希望这有帮助。=)

于 2018-03-19T03:40:35.427 回答