У меня есть решение в Visual Studio, которое имеет одну конфигурацию, которая позволяет статически связывать каждый проект в основной exe-файл, и другую конфигурацию, которая компилирует каждый проект как свою собственную dll.
Идея заключается в том, что я могу разрабатывать с использованием DLL, сводя к минимуму время простоя во время компиляции и компоновки, но когда я выпускаю для публики, есть только один exe.
К сожалению, это означает, что для типа, созданного в одном из этих проектов, необходимы 2 файла natvis, чтобы их можно было отлаживать в любой конфигурации.
Эти 2 файла natvis в остальном идентичны, за исключением myProject.dll! Префикс применяется ко всем пространствам имен в natvis для конфигурации DLL.
(При запуске статически связанного exe-файла natvis, содержащий ссылку на тип в dll, дает сбой, в результате чего игнорируется весь файл, а не только этот тип)
Является ли лучшим решением в этой ситуации просто поддерживать 2 файла natvis для каждого типа? Можно ли сгенерировать natvis из шаблона? Можно ли сделать ссылку на dll необязательной?
(Я использую Visual Studio 2015, но, пожалуйста, дайте мне знать, если 2017+ есть решение для этого)
Спасибо
Я использую Microsoft Visual Studio Community 2017 версии 15.6.2, и она работает для меня с одним типом decl .natvis. У меня есть .natvis и заголовочные файлы в общем проекте, на который ссылаются как проект реализации моего общего проекта .dll, так и проект моего приложения .exe. Я просто указываю имя простого типа без Shared.dll! префикс и все работает. Надеюсь, это поможет. знак равно
Других решений пока нет …