我一直在使用一个具有一些新功能的控制台应用程序,主要使用NewtonSoft.Json nuget包。为了分发,我一直在进入bin文件夹 - >发布然后复制/粘贴可执行文件以分发给我的同事。但是,由于我使用了NewtonSoft.Json软件包,我的同事会在他们的机器上出现以下错误。
System.IO.FileNotFoundException:无法加载文件或程序集'Newtonsoft.Jso n,Version = 7.0.0.0,Culture = neutral,PublicKeyToken = 30ad4fe6b2a6aeed'或者之一 它的依赖关系。该系统找不到指定的文件。 文件名:'Newtonsoft.Json,Version = 7.0.0.0,Culture = neutral,PublicKeyToken = 30 ad4fe6b2a6aeed'
我如何通过这个?如何让我的同事能够在他们自己的机器上支持NewtonSoft.Json?
答案 0 :(得分:0)
与 ragerory 一样,在您的问题评论中说,这些错误将在对可执行文件部署的外部依赖项的任何缺失引用中发生。
您可以执行以下操作以避免依赖项加载问题:
如果您熟悉NuGet,还可以使用Costura.Fody这是我在构建时将引用嵌入资源的工具。它避免使用ILMerge之类的外部工具,我之所以选择它是因为它很容易集成到已经使用NuGet包的项目中。
答案 1 :(得分:0)
我的问题是缺少一些配置,如果在源代码管理中的提交期间未检入,可能会发生这种情况。
我将Nuget用于软件包,因此重新安装软件包对我有用。我确实升级到了不同的版本,但这没用-必须重新安装。
Update-Package -Id Newtonsoft.Json -reinstall