安装软件包“ Newtonsoft.Json”时出错

时间:2019-10-28 08:56:48

标签: json.net nuget visual-studio-2019

Install-Package : Could not install package 'Newtonsoft.Json 12.0.2'. You are trying to install this 
package into a project that targets 'native,Version=v0.0', but the package does not contain any 
assembly references or content files that are compatible with that framework. For more information, 
contact the package author.
At line:1 char:1
+ Install-Package Newtonsoft.Json
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Install-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PackageManagement.PowerShellCmdlets. 
   Instal

1 个答案:

答案 0 :(得分:0)

  

错误原因:

当您尝试将一个nuget软件包安装到C++/CLI项目中时,总是会发生此错误。尽管C++/CLI项目是托管代码,但目前Nuget不支持此方案。

Github / Nuget中有一个未解决的问题,请参见#8195,如果有任何更新,您可以跟踪此问题以获取通知。

  

解决方法:

  1. 您可以尝试Daniel's answer,它可以帮助许多遇到类似问题的会员。

  2. 对我来说,因为nuget包实际上是一个xx.zip文件,其中包含程序集和一些文件。我们可以下载xx.nupkg(裸包)文件here

enter image description here

然后,您将获得一个xx.nupkg文件,将其重命名为xx.zip并解压缩。现在,您可以看到一个lib文件夹,其中包含用于不同目标框架的程序集。如果您的C ++ / CLI项目面向.net framework 4.5及更高版本,请选择net45文件夹。如果您的项目面向.net framework 4.0,请选择net40文件夹...

我们可以将Newtonsoft.Json.dllNewtonsoft.Json.xml复制到项目目录或任何本地文件夹。然后右键单击project => Add reference => browse =>以手动添加该引用。之后,键入using namespace Newtonsoft,以检查Intellisense是否可以很好地识别此引用。

enter image description here

如果像我一样编译和构建此项目时遇到错误C4199,请尝试this

希望以上所有都对您有帮助:)