Исходя из вашего вопроса, я думаю, что вы ищете что-то, что вы можете быстро добавить к вашему событию после сборки из Visual Studio. Если вы используете XCOPY
, вы можете указать подстановочный знак в пути назначения. Это может быть достаточно для вас:
XCOPY "$(TargetDir)$(TargetName).pdb" "%WINDIR%\Assembly\GAC_MSIL\$(TargetName)\*\"
Другой вариант - попытаться извлечь токен открытого ключа, используя SN.exe
, поставляемый с платформой. Это может выглядеть примерно так:
FOR /F "usebackq tokens=5" %%T in (`sn.exe -q -T "$(TargetDir)$(TargetName).dll"`) DO COPY ""$(TargetDir)$(TargetName).pdb" "%WINDIR%\Assembly\GAC_MSIL\$(TargetName)\%%T\"
Однако в действительности целевой каталог не содержит версию сборки и токен открытого ключа?
Наконец, вы всегда можете загрузить библиотеку MSBuildExtensions , которая включает в себя задачу Assembly
(или реализовать пользовательскую задачу самостоятельно). Однако в этом случае вам необходимо отредактировать ваш proj-файл вручную.
Кроме того, ознакомьтесь с этой записью в блоге - она может быть вам интересна.