由于找不到nuget.targets错误,Visual Studio中的打开项目失败

时间:2012-02-03 18:46:03

标签: visual-studio nuget twitterizer

所以我从http://www.twitterizer.net/downloads/

下载了Twitterizer

我尝试在Visual Studio中打开它并获取所有这些nuget错误:

The imported project "C:\Twitterizer\.nuget\nuget.targets" was not found. 
Confirm that the path in the <Import> declaration is correct, and that the file 
exists on disk.

发生了什么事。我该如何处理?

7 个答案:

答案 0 :(得分:169)

  1. 安装Nuget。
  2. 右键单击解决方案并选择“启用NuGet” 包恢复“。
  3. 单击警告上的确定。
  4. 关闭并重新打开解决方案。
  5. 现在应该是hunky-dory。

答案 1 :(得分:21)

另一种方法是使用texteditor编辑.csproj文件,然后删除或注释掉该段。

答案 2 :(得分:14)

当您尝试直接打开.csproj时,通常会发生此错误,而不是通过解决方案文件,而.csproj会导入Nuget目标,如下所示:

<Import Project="$(SolutionDir)\.nuget\NuGet.targets" />

要解决此问题,您可以直接打开.sln而不是.csproj ...或删除上面的import行。

请注意,只有在使用solution wise程序包还原时才会出现上述错误,甚至不建议这样做。

答案 3 :(得分:1)

当我收到nuget.targets not found错误时,我使用包管理器uninstall-package项目中的一个包,然后使用install-package重新安装它。似乎它会重新生成nugets.target文件。

答案 4 :(得分:1)

当您收到此错误以便在Visual Studio解决方案资源管理器中恢复丢失的NuGet.targets时,最简单的解决方案是:

  1. 右键单击解决方案文件
  2. 上的
  3. 从上下文菜单中点击“启用Nuget Package Restore ...”选项
  4. 这将在“.nuget”文件夹中下载丢失的文件:)

    以上假设您已经安装了Nuget - 如果不遵循上面接受的答案!

    <强>更新 请注意,对于2013年以后的Visual Studio版本,该选项称为“恢复NuGet包

答案 5 :(得分:1)

我知道我已经迟到了,但这里有一个关于如何解决这个问题的非常好的教程。我用它来修复我的项目。

  

关闭Visual Studio如果您尝试迁移的解决方案是   在Visual Studio中打开,然后更改可能会丢失。 Visual Studio可能会   在某些情况下覆盖/忽略您的更改以及NuGet扩展   还会尝试在看到一些项目时重新启用Package Restore   解决方案中缺少它。

     

如果您正在使用TFS从中删除NuGet.exe和NuGet.targets文件   解决方案的.nuget文件夹。确保文件本身也是   从解决方案工作区中删除。保留NuGet.Config文件   继续绕过向源代码管理添加包。编辑每个   解决方案中的项目文件(例如.csproj,.vbproj)并删除任何   对NuGet.targets文件的引用。在中打开项目文件   您选择的编辑器并删除以下设置:

     

是......

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download
     

它们。有关更多信息,请参阅   http://go.microsoft.com/fwlink/?LinkID=322105。丢失的文件是   {0}。                如果你不是   使用TFS从解决方案中删除.nuget文件夹。确保   文件夹本身也会从解决方案工作区中删除。编辑每个   解决方案中的项目文件(例如.csproj,.vbproj)并删除任何   对NuGet.targets文件的引用。在中打开项目文件   您选择的编辑器并删除以下设置:

     

是......

<PropertyGroup>
    <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download
     

它们。有关更多信息,请参阅   http://go.microsoft.com/fwlink/?LinkID=322105。丢失的文件是   {0}。                迁移脚本   许多用户请求迁移工具禁用   基于MSBuild的包还原并转换为自动包   恢复。 NuGet团队决定不提供支持的工具   为此,因为边缘情况的概率很高   未处理。但是,Owen Johnson撰写了一篇PowerShell脚本   可以在很多情况下工作。它可以在GitHub上获得,可以在   你自己的风险。换句话说,一定要提交源代码控制   在运行它之前,以防万一它在你的场景中不起作用。

Nuget.target Fix

答案 6 :(得分:1)

刚遇到同样的问题,但在我的情况下,问题是文件夹名称中的空格:

Nuget告诉我它找不到“C:\ git \ My Path”但我能够导航到“C:\ git \ My%20Path”。删除foldername中的空格“修复”了这个问题。