【问题标题】:winmd can't find Newtonsoft.Json.dll filewinmd 找不到 Newtonsoft.Json.dll 文件
【发布时间】:2015-04-23 13:44:15
【问题描述】:

我正在使用 Unity 构建一个所谓的“通用 Windows 8.1”应用程序,并试图让 Pushwoosh SDK 正常工作。 PushSDK.winmd 和 Newtonsoft.Json.dll 都成功复制到 Visual Studio 项目。但是当它最终到达代码时:

NotificationService service = PushSDK.NotificationService.GetCurrent("my-id");

我收到以下错误:

这似乎是一个非常“普遍”的问题,因此我将其发布在这里。据我了解,lib 文件“PushSDK.winmd”由于某种原因找不到 Newtonsoft.json.dll。但我不确定我还能做些什么。它位于项目中的“参考”下(见下文):

编辑 到目前为止我已经尝试过: 1.使用相同的DLL重建Pushwoosh SDK并尝试使用另一个DLL。 2. 尝试完全没有 Newtonsoft.Json.dll。

这两种方法都会产生如上所示的相同错误。这意味着它甚至不读取任何它根本找不到的 DLL。

【问题讨论】:

  • 您是否引用了正确的程序集?对于不同的平台和 .NET 运行时,有不同的 Newtonsoft.Json.dll 构建。
  • 您确定引用和复制的 Newtonsoft.Json.dll 实际上与错误消息中请求的版本匹配吗?似乎 PushSDK 想要一个 .Net 4.5 版本,而你例如只有4.0的Newtonsoft.Json.dll。
  • 你安装了什么版本的 Newtonsoft.Json? (右键单击并选择属性 - 它应该会告诉你)
  • 图片中选择的有:版本:4.5.0.0 和运行时版本 4.0.3(不管是什么)。 Newtonsoft.json.dll 直接取自 Pushwoosh github repo,应该表明它是相同的。 :/ 另外,我看不到 PushSDK 文件的源代码

标签: c# dll unity3d windows-runtime pushwoosh


【解决方案1】:

是的,这只花了大约 6 个小时就解决了。

似乎需要的步骤是将文件 Newtonsoft.Json.dll 添加到 Unity 中的“未处理插件”列表中。希望其他人可以使用此信息。

感谢 cmets 字段中提供的所有输入!

【讨论】:

  • 我得到:System.IO.FileNotFoundException:找不到程序集“PushSDK,版本=1.0.0.0,文化=中性,PublicKeyToken=null”文件。有什么想法吗?
  • 那么您在什么情况下使用该库? Unity、构建原生应用或其他用途?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-26
  • 1970-01-01
相关资源
最近更新 更多