首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复ChakraCore NuGet包错误?

如何修复ChakraCore NuGet包错误?
EN

Stack Overflow用户
提问于 2017-07-06 02:13:44
回答 2查看 139关注 0票数 2

初始化新的React Native Windows WPF项目时,会发生此错误:

NuGet Package restore failed for project Native: Unable to find version '1.4.1-preview-00010-42060' of package 'Microsoft.ChakraCore'. https://www.myget.org/F/chakracore-preview/api/v3/index.json: Package 'Microsoft.ChakraCore.1.4.1-preview-00010-42060' is not found on source 'https://www.myget.org/F/chakracore-preview/api/v3/index.json'. https://api.nuget.org/v3/index.json: Package 'Microsoft.ChakraCore.1.4.1-preview-00010-42060' is not found on source 'https://api.nuget.org/v3/index.json'.

如果我创建一个独立的项目并添加相同的NuGet包引用,我会得到相同的错误--即使是在Xamarin Studio Mac上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-07-06 03:39:44

问题是该项目引用的是myget.org上的“预览”提要,而不是nuget.org上的官方发布提要。在项目的NuGet.Config文件中,删除引用预览提要的行,如下所示:

<add key="ChakraCore" value="https://www.myget.org/F/chakracore-preview/api/v3/index.json" />

在Visual Studio2015(或Xamarin/Visual Studio Mac)项目中,右键单击项目并选择Manage NuGet References。在那里,您可以单击更新选项卡,从列表中选择ChakraCore,然后单击“更新”。这应该会为您更新packages.config和其他文件。请注意,如果您在编辑配置文件时打开了项目,则需要关闭并重新打开项目以使新设置生效。在某些情况下,升级可能会留下对以前的1.4.1预览包的引用,您需要手动编辑csproj文件才能将其删除。

如果您需要在没有Visual/Xamarin Studio的情况下进行此更改,您只需编辑一些文本文件。在packages.config (在Visual Studio 2015中)中,将引用1.4.1-预览版的代码行更改为最新版本(在撰写本文时为1.5.2):

<package id="Microsoft.ChakraCore" version="1.4.1-preview-00010-42060" targetFramework="net46" developmentDependency="true" />

变成了

<package id="Microsoft.ChakraCore" version="1.5.2" targetFramework="net46" developmentDependency="true" />

在项目的csproj文件中:<Import Project="$(SolutionDir)\packages\Microsoft.ChakraCore.1.4.1\build\netstandard1.0\Microsoft.ChakraCore.props" Condition="Exists('$(SolutionDir)\packages\Microsoft.ChakraCore.1.4.1\build\netstandard1.0\Microsoft.ChakraCore.props')" />

变成了

<Import Project="$(SolutionDir)\packages\Microsoft.ChakraCore.1.5.2\build\netstandard1.0\Microsoft.ChakraCore.props" Condition="Exists('$(SolutionDir)\packages\Microsoft.ChakraCore.1.5.2\build\netstandard1.0\Microsoft.ChakraCore.props')" />

<Error Condition="!Exists('$(SolutionDir)\packages\Microsoft.ChakraCore.1.4.1\build\netstandard1.0\Microsoft.ChakraCore.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Microsoft.ChakraCore.1.4.1\build\netstandard1.0\Microsoft.ChakraCore.props'))" />

变成了

<Error Condition="!Exists('$(SolutionDir)\packages\Microsoft.ChakraCore.1.5.2\build\netstandard1.0\Microsoft.ChakraCore.props')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\Microsoft.ChakraCore.1.5.2\build\netstandard1.0\Microsoft.ChakraCore.props'))" />

一般来说,不要在生产项目或其他人将使用的项目模板中引用来自myget.org的预览包。它们可以随时删除,并且安全更新可能不会像官方渠道那样定期在那里发布。

票数 3
EN

Stack Overflow用户

发布于 2017-07-06 03:37:04

看起来预览Microsoft.ChakraCore NuGet包已从MyGet feed中删除。

主NuGet.org站点只有Microsoft.ChakraCore NuGet package的稳定版本。

因此,您只需编辑对该包的任何引用并使用已发布的版本。Microsoft.ChakraCore版本1.4.4应该可以工作。

在React原生GitHub站点上也有关于这一点的open issue

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44933276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档