visual-studio-2017 - Visual Studio 2017 不签署程序集
问题描述
我需要制作一个我在Visual Studio 2017下用 C# 开发的程序集,这是一个强名称程序集。
我的客户向我提供了一个.snk文件,我在项目属性的“签名”选项卡中打开了“签署程序集”复选框。在后台,在.csproj文件中添加了以下元素:
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>ZZZ.snk</AssemblyOriginatorKeyFile>
<DelaySign>false</DelaySign>
问题是生成的程序集没有签名。
另一个明显的尴尬,可能表明问题的原因,是尽管有
<DelaySign>false</DelaySign>
在.csproj文件中,每次我打开Signing选项卡时,Delay sign only复选框都处于未定义状态,如下所示
我在这里和我信任的社区中迷失了方向。
预先感谢大家的帮助。
关于我的环境的一些细节:
视觉工作室企业 2017 版本 15.9.14该项目采用新格式并针对 .NET 4.7.1
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net471</TargetFramework>
解决方案
答案相当尴尬;但是,我欠社区:
引用问题“问题是生成的程序集没有签名。 ”
现在,我如何检查程序集是否已签名?通过运行sn -v bin\x64\Release \XYZ.dll
好吧,bin\x64\Release确实包含一个过时的 XYZ.dll 副本,我现在什至不记得了。
生成的程序集实际上放在bin\Release\net471中,运行sn -v bin\Release\net471 \XYZ.dll确认程序集已签名......
嗯,就是这样:o|
推荐阅读
- c - 在 C 中递归文件时如何打印整个路径名和单个路径名?
- javascript - TypeScript & Yup 错误:“参考”类型的参数
' 不能分配给 'number | 类型的参数 参考 ' - flutter - 哪种架构更适合具有大量 API 调用的 Flutter 应用程序?
- php - 有没有其他方法可以更改 PHP 变量的数据类型?
- java - why is my stack s giving null here when it has elements pushed inside it. what am i missing?
- java - Java Streams() 与 Heap.poll() 的区别
- java - 为什么我在使用最大整数值时得到荒谬的值?
- amazon-cloudformation - AWS CloudFormation。从 API Gateway v1 同步调用 Step Function
- c++ - 如何判断哪些 C++ 版本可用于 g++ 和 clang
- ios - 将谷歌广告横幅视图设置为 tabbr 控制器,但是当我推送到详细视图时,仍然显示广告