今天在运行 C# 项目时,发生了一个报错:“未能加载文件或程序集“XXXXX, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”或它的某一个依赖项。需要强名称程序集。”
现象:项目B 引用项目A 时,在项目B 中报了上述的错误。
解决:给项目A 程序集生成一个强名称,并重新构建你的项目。具体方法:
- 鼠标右击项目集A, 选择 “在终端打开”,运行以下命令为程序集生成强名称:
sn -k keyPair.snk
- 鼠标右击项目集A,编辑项目文件(.csproj),添加以下内容,指定生成的密钥文件:
<PropertyGroup>
<SignAssembly>true</SignAssembly>
<AssemblyOriginatorKeyFile>keyPair.snk</AssemblyOriginatorKeyFile>
</PropertyGroup>
- 重新构建项目,确保生成的程序集包含了强名称。
- 更新引用了 “A” 的项目,重新编译并执行程序。