【问题标题】:How to get public token in ms post event macros如何在 ms 发布事件宏中获取公共令牌
【发布时间】:2009-05-18 22:05:15
【问题描述】:

我想创建一个构建后脚本,将生成的 pdb 复制到 gac 文件夹中,如下所示:复制 $(TargetDir)$(TargetName).pdb C:\Windows\assembly\GAC_MSIL\$(TargetName)\?公共令牌?但是我需要当前构建项目的公共令牌,有没有办法得到这个?

【问题讨论】:

    标签: msbuild


    【解决方案1】:

    根据您的问题,我认为您正在寻找可以从 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 文件。

    另外,请查看blog entry - 您可能会感兴趣。

    【讨论】:

      猜你喜欢
      • 2021-09-13
      • 2016-10-25
      • 2015-12-21
      • 2016-11-11
      • 1970-01-01
      • 1970-01-01
      • 2016-03-25
      • 2015-06-13
      • 1970-01-01
      相关资源
      最近更新 更多