Natvis для типа, который может быть скомпилирован в dll или lib
У меня есть решение в 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+ есть решение для этого)
Спасибо
1 ответ
Я использую Microsoft Visual Studio Community 2017 версии 15.6.2, и она работает для меня с одним типом decl.natvis. У меня есть.natvis и заголовочные файлы в общем проекте, на который ссылаются как проект.dll моего общего проекта, так и проект.exe моего приложения. Я просто указываю имя простого типа без Shared.dll! префикс и все работает. Надеюсь, это поможет. знак равно