我的Visual Studio 2022在应该没有版本冲突的情况下看到版本冲突,例如Newtonsoft。Json,我只包含在13.0.1版本,因为这是我正在开发的CMS使用的版本。因此,据我所知,所有内容都应该精确地引用这个版本。
为什么Visual Studio建议创建一个web。配置包含版本重定向的程序集绑定?
我搜索了"Newtonsoft.Json"在我的整个解决方案中,没有发现任何项目引用其他版本。
我已经尝试了resharper, NDepend和Dependencies,看看是否有第三方库引用了Newtonsoft的另一个版本。Json,但无法找到证据。
我可以让Visual Studio创建这些网页。配置文件,但因为我在解决方案中有很多项目,我想离开没有他们,因为他们可以有合并冲突(我目前正在升级),他们需要设置为contenttype=none不打扰网络。在web浏览器中配置。我想我可以禁用Visual Studio的警告,但是我想试着弄清这个问题的根源。
我怎样才能知道这里发生了什么?
几种可能性
-
如果您正在使用Newtonsoft. json . schema,默认情况下将尝试与Newtonsoft. json . schema一起工作。Json版本12.0.0.x。这可能是需要绑定重定向的一个原因。
-
第二个原因只是牛顿软。Json版本12。X有很糟糕的安全问题,所以让你的应用只在13.x上工作是有意义的。
除了在系统中搜索冲突的版本之外,您还可以通过检查
以编程方式检查哪些版本被拉入。Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies();
和检查程序集。FullName和Assembly。位置