Как получить публичный токен в макросах ms post event - PullRequest
0 голосов
/ 19 мая 2009

Я хочу создать сценарий посткомпиляции, который копирует сгенерированный pdb в папку gac, например: copy $ (TargetDir) $ (TargetName) .pdb C: \ Windows \ assembly \ GAC_MSIL \ $ (TargetName) \? Публичный токен? но мне нужен публичный токен текущего проекта сборки, есть ли способ получить это?

1 Ответ

0 голосов
/ 19 мая 2009

Исходя из вашего вопроса, я думаю, что вы ищете что-то, что вы можете быстро добавить к вашему событию после сборки из 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-файл вручную.

Кроме того, ознакомьтесь с этой записью в блоге - она ​​может быть вам интересна.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...