Я хочу иметь возможность динамически загружать и выгружать проекты DLL во время выполнения. Чтобы это работало, я должен убедиться, что каждый раз, когда я перестраиваю свой проект в Visual Studio, сгенерированный файл .pbd имеет псевдослучайное имя как (произвольная строка пути к файлу) .pbd.
Это потому, что отладчик вынуждает меня прервать отладку, прежде чем перестраивать в противном случае.
Сначала я попытался создать пользовательский инструмент предварительной сборки, который запустил файл .bat, который создал системную переменную среды, например:
set TIMESTAMP=%DATE:/=-%@%TIME::=-%
set TIMESTAMP=%TIMESTAMP: =%
setx buildrandomvar %TIMESTAMP%
И это работало нормально, я проверил реестр. Но что бы я ни делал, я просто не мог ссылаться на «buildrandomvar» как часть имени файла .pdb. Результатом был просто пустой «.pbd».
Имя файла базы данных моей программы: $ (OutDir) $ (TargetName) $ (buildrandomvar) .pdb
Я был бы очень признателен за любую помощь в этом вопросе, потому что я просто не могу заставить это работать.
Я нашел ответ, и я просто положу его здесь на тот случай, если кому-нибудь понадобится
В Visual Studio щелкните правой кнопкой мыши свой проект, перейдите в Свойства -> Компоновщик -> Отладка -> Создать файл базы данных программы и введите
"$(OutDir)$(TargetName)-$([System.DateTime]::Now.ToString("HH_mm_ss_fff")).pdb"
Это должно сгенерировать ваш pdb с временной меткой в имени файла, которая технически псевдослучайна.
Других решений пока нет …