我的项目中有一个Nuget程序包,该程序包以前未签名并且没有强名称。
我已经发布了该软件包的新版本,该版本现已签名。
当我将新版本的Nuget软件包添加到解决方案中时,在项目中引用Nuget软件包中的程序集的任何地方,都会导致以下生成错误:
错误CS0012在以下程序集中定义了类型'JsonWebToken'
未引用。您必须添加对程序集的引用
'TSC.Business.DataContracts,版本= 2.10.6.0,文化=中性,
PublicKeyToken = null”。
如您所见,编译器仍期望该程序集的版本没有PublicKeyToken。
我需要尝试确定为什么编译器仍然期望此程序包的publicKeyToken为null。
我尝试过的事情-都没有运气:
通过从packages.json,packages目录,csproj文件,bin路径中删除旧版本并运行完全清除操作,完全卸载旧的Nuget软件包。
验证packages.json中新版本的publicKeyToken正确-是
清除我的临时ASP.Net文件
哎呀,甚至安装VS2019并检查其中是否存在问题-这样做
有人知道编译器还会在哪里寻找此null publicKeyToken吗?
最佳答案
从项目目录开始,在磁盘上查找project.assets.json
。它可能在obj
目录中。如果找到它,请删除它以及所有其他名为*.*proj.nuget.*
的文件。这些将在希望有效的下一个版本中重新生成。