【问题标题】:Visual Studio 2017 does not sign an assemblyVisual Studio 2017 不签署程序集
【发布时间】:2019-07-22 21:42:44
【问题描述】:

我需要制作一个程序集,这是我在 Visual Studio 2017 下用 C# 开发的一个强名称程序集。
我的客户向我提供了一个 .snk 文件,我在我的项目属性的 Signing 选项卡中打开了 Sign the assembly 复选框。在后台,在 .csproj 文件中添加了以下元素:

    <SignAssembly>true</SignAssembly>
    <AssemblyOriginatorKeyFile>ZZZ.snk</AssemblyOriginatorKeyFile>
    <DelaySign>false</DelaySign>

问题是生成的程序集没有签名。

另一个可能表明问题原因的明显尴尬是,尽管有

    <DelaySign>false</DelaySign>

.csproj 文件中,每次我打开 Signing 选项卡时,Delay sign only 复选框都处于未定义状态,如下所示

我在这里和我信任的社区中迷失了方向。
提前感谢大家的帮助。

关于我的环境的一些细节:

 Visual Studio 企业版 2017
    版本 15.9.14
该项目采用新格式并针对 .NET 4.7.1
    <Project Sdk="Microsoft.NET.Sdk">
      <PropertyGroup>
        <TargetFramework>net471</TargetFramework>

【问题讨论】:

    标签: visual-studio-2017 .net-assembly strongname


    【解决方案1】:

    答案相当尴尬;但是,我欠社区:
    引用问题“问题是生成的程序集没有签名。
    现在,我如何检查程序集是否已签名?通过运行 sn -v bin\x64\Release\XYZ.dll
    嗯,出于这个原因,bin\x64\Release 确实包含一个过时的 XYZ.dll 副本,我现在什至不记得了。
    生成的程序集其实放在bin\Release\net471中,运行sn -v bin\Release\net471\XYZ.dll确认程序集已签署...

    嗯,就是这样:o|

    【讨论】:

      猜你喜欢
      • 2011-11-14
      • 1970-01-01
      • 1970-01-01
      • 2013-02-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 2018-03-23
      • 1970-01-01
      相关资源
      最近更新 更多