项目myProjectWeb的NuGet包还原失败:无法找到包'AppForSharePoint16WebToolkit'的版本'3.0.1'。

5
这是一个提供程序托管项目,最近出现了问题。
如果我创建一个全新的项目/解决方案,那么它可以正常工作。
如果我启动旧项目,或从源代码控制中重新下载,就会出现以下错误:
NuGet包还原失败,无法找到“AppForSharePoint16WebToolkit”的版本“3.0.1”。
我尝试过“Update-Package -Reinstall”,但问题仍然存在。
有任何想法吗?

我也遇到了同样的问题。不确定这个“AppForSharePoint16WebToolkit”是从哪里来的。 - Wout
3个回答

6
Scott Hillier的解决方案对我有用: http://www.shillier.com/archive/2014/08/05/nuget-package-restore-fails-for-sharepoint-2013-provider-hosted-apps.aspx 我通常会利用NuGet Package Restore功能来减小项目的大小以便于保存和共享。今天,我在构建针对SharePoint Online的SharePoint 2013 Provider-Hosted Apps时发现了一个问题。以下是重现此问题以及解决方法的步骤:
1. 使用用于调试的SharePoint Online站点在Visual Studio 2013中创建Provider-Hosted App。 2. 右键单击解决方案并选择“启用NuGet Package Restore”。 3. 保存并关闭项目。 4. 从项目目录中删除“packages”文件夹。 5. 在Visual Studio 2013中打开项目。 6. 重新构建,出现错误“无法找到AppForSharePoint16WebToolkit”。 7. 打开Packages.config文件。 8. 将“AppForSharePoint16WebToolkit”更改为“AppForSharePointWebToolkit”。 9. 再次进行重建-这次成功了。显然,“AppForSharePoint16WebToolkit”包无法通过NuGet Package Manager获得,但旧版的“AppForSharePointWebToolkit”包可用。

2
错误提示表明NuGet在您的软件包源中找不到AppForSharePoint16WebToolkit软件包。因此,请检查以下内容:
  1. 在执行Update-Package -Reinstall时选择了正确的软件包源。
  2. 检查托管NuGet软件包的软件包源是否已启用。如果您使用的是最新版本的NuGet,则软件包还原应使用所有已启用的软件包源。
  3. 查看解决方案或项目是否有自己的NuGet.config覆盖软件包源。
没有更多信息,我的猜测是第3点,因为您说它适用于新项目。
您还可以运行Fiddler查看NuGet尝试还原时使用的软件包源。

这对我没有用。我在解决方案中运行了Update-Package -Reinstall,同时没有NuGet.config文件。请参考此文章的说明,这对我有效。http://www.shillier.com/archive/2014/08/05/nuget-package-restore-fails-for-sharepoint-2013-provider-hosted-apps.aspx - ChiliYago
这里有一篇更好的文章:http://www.mbgreen.com/blog/2014/8/8/sharepoint-2013-apps-fail-on-nuget-package-restore - ChiliYago

0

在此输入图片描述对于那些特定包版本无法更新的旧项目,您可以取消选中“Visual Studio中构建期间自动检查缺失包”选项,该选项位于:

Nuget程序包管理器 > 程序包管理器设置

这意味着如果您在新旧项目之间切换,您需要检查和取消选中此设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接