使用Postsharp的C#类库项目构建失败:强名称密钥容器未找到
解决Postsharp强名称签名构建报错方案
问题定位
你的机器本地Postsharp缓存或强名称密钥配置异常,导致构建时触发强名称API调用错误,且错误提示指向不存在的POSTSHARP文件;该问题仅出现在你的机器上,其他同环境项目可正常使用同一snk文件,说明问题聚焦在本地配置或项目专属缓存。
修复步骤
清理Postsharp本地缓存与项目构建文件
关闭Visual Studio,删除以下内容后重启项目构建:- 系统缓存目录:
%LOCALAPPDATA%\PostSharp - 项目目录下的
obj、bin文件夹
- 系统缓存目录:
校验snk文件权限
右键目标snk文件→属性→安全选项卡,确认当前用户账户对该文件拥有读取权限,若缺失则添加对应权限。重置强名称密钥容器
以管理员身份打开「Developer Command Prompt for VS2019」,执行命令将snk导入临时容器:sn -i "<你的snk文件路径>" PostSharpTempContainer构建完成后可执行以下命令删除临时容器(可选):
sn -d PostSharpTempContainer修改项目Postsharp配置
编辑项目的.csproj文件,添加以下配置节点跳过Postsharp强名称验证:<PropertyGroup> <PostSharpSkipStrongNameVerification>True</PostSharpSkipStrongNameVerification> </PropertyGroup>重新安装Postsharp包
通过NuGet包管理器卸载当前项目的Postsharp 4.3.48,再重新安装对应版本,确保安装过程无异常。
内容的提问来源于stack exchange,提问作者HansBakn
相关产品推荐
相关产品推荐

