Я сделал еще несколько копаний и нашел эту страницу , на которой написано следующее:
Начиная с Visual Studio 2015, CRT был реорганизован в новые двоичные файлы. Универсальный CRT (UCRT) содержит функции и глобалы, экспортируемые стандартной библиотекой C99 CRT. UCRT теперь является Windows компонентом и поставляется как часть Windows 10.
Отлично, это то, что я ожидал. Ниже приведено следующее:
Библиотека vcruntime содержит код, специфичный для реализации Visual C ++ CRT, такой как поддержка обработки и отладки исключений, проверки и информация о типах во время выполнения, подробности реализации и некоторые расширенные функции библиотеки. Эта библиотека указывает c на версию используемого компилятора.
Это означает, что все еще существует неуниверсальная зависимость VC ++, которая связывается с VS. Для меня это означает, что DLL без зависимостей на самом деле не существует (по крайней мере, что-то не построенное с VC ++), так как у вас всегда будет зависимость vcruntime.
Всегда есть опция stati c linking (/ MT), но в моем случае я также смотрю на библиотеку DLL с / clr, и эти два параметра являются взаимоисключающими. Локальное развертывание приложения (просто скопируйте vcruntime140.dll с двоичными файлами) также, кажется, работает и может быть лучшим вариантом для того, что я хочу сделать переносимым / xcopy.
Сейчас я собираюсь отметить это как ответ, но если есть способ обойти это, мне было бы интересно увидеть это.