项目myProjectWeb的NuGet包恢复失败:无法找到包'AppForSharePoint16WebToolkit'的版本'3.0.1'

时间:2014-06-19 09:50:39

标签: sharepoint nuget

这是一个提供者托管项目。它过去一直工作到最近。

如果我创建一个全新的项目/解决方案,那么它可以工作。

如果我启动旧版本,或从源代码管理中重新下载,我会收到以下错误:

  

项目的NuGet包恢复失败LocalTheaterWeb:无法找到包'AppForSharePoint16WebToolkit'的版本'3.0.1'

我尝试Update-Package -Reinstall,但问题仍然存在。

有什么想法吗?

3 个答案:

答案 0 :(得分: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 2013时发现此过程存在问题   针对SharePoint Online的提供商托管应用程序。以下是步骤   重现并修复:

     
      
  1. 使用SharePoint Online网站在Visual Studio 2013中创建提供程序托管应用程序以进行调试。
  2.   
  3. 右键单击解决方案并“启用NuGet包还原”
  4.   
  5. 保存并关闭项目
  6.   
  7. 从项目目录中删除“packages”文件夹
  8.   
  9. 在Visual Studio 2013中打开项目
  10.   
  11. 重建,收到错误“无法找到AppForSharePoint16WebToolkit”
  12.   
  13. 打开Packages.config文件
  14.   
  15. 将“AppForSharePoint16WebToolkit”更改为“AppForSharePointWebToolkit”
  16.   
  17. 重建 - 这次成功。显然,“AppForSharePoint16WebToolkit”软件包无法通过   NuGet包管理器,但旧的“AppForSharePointWebToolkit”   包装可用。
  18.   

答案 1 :(得分:2)

错误消息表明NuGet无法在您的包源中找到AppForSharePoint16WebToolkit包。请检查以下内容:

  1. 在执行Update-Package -Reinstall时选择了正确的包源。
  2. 检查托管NuGet包的包源是否已启用。如果您使用的是最新版本的NuGet,则包还原应使用所有已启用的包源。
  3. 查看解决方案或项目是否有自己的NuGet.config,它会覆盖包源。
  4. 如果没有进一步的信息,我的猜测就是3.因为你说它适用于一个新项目。

    您还可以运行Fiddler来查看NuGet在尝试恢复时使用的包源。

答案 2 :(得分:0)

enter image description here适合年龄较大的"锁定"具有特定软件包版本号的项目,您无法更新,取消选中"在Visual Studio中构建期间自动检查缺少的软件包"通过以下方式找到:

Nuget Package Manager>包管理器设置

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