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
答案 0 :(得分:0)
错误原因:
当您尝试将一个nuget软件包安装到C++/CLI
项目中时,总是会发生此错误。尽管C++/CLI
项目是托管代码,但目前Nuget
不支持此方案。
Github / Nuget中有一个未解决的问题,请参见#8195,如果有任何更新,您可以跟踪此问题以获取通知。
解决方法:
您可以尝试Daniel's answer,它可以帮助许多遇到类似问题的会员。
对我来说,因为nuget包实际上是一个xx.zip
文件,其中包含程序集和一些文件。我们可以下载xx.nupkg
(裸包)文件here。
然后,您将获得一个xx.nupkg
文件,将其重命名为xx.zip
并解压缩。现在,您可以看到一个lib
文件夹,其中包含用于不同目标框架的程序集。如果您的C ++ / CLI项目面向.net framework 4.5及更高版本,请选择net45
文件夹。如果您的项目面向.net framework 4.0,请选择net40
文件夹...
我们可以将Newtonsoft.Json.dll
和Newtonsoft.Json.xml
复制到项目目录或任何本地文件夹。然后右键单击project => Add reference => browse =>以手动添加该引用。之后,键入using namespace Newtonsoft
,以检查Intellisense是否可以很好地识别此引用。
如果像我一样编译和构建此项目时遇到错误C4199,请尝试this。
希望以上所有都对您有帮助:)