108

所以我从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.

到底是怎么回事。我该如何处理?

4

7 回答 7

173
  1. 安装 Nuget。
  2. 右键单击解决方案并选择“启用 NuGet 包还原”。在 Visual Studio 2013 及更高版本中,请改为选择“还原 NuGet 包”。
  3. 在警告上单击确定。
  4. 关闭并重新打开解决方案。

现在应该是hunky-dory。

于 2012-02-10T10:20:01.230 回答
23

另一种方法是使用文本编辑器编辑 .csproj 文件并删除或注释掉该段。

于 2013-03-25T13:43:46.567 回答
19

当您尝试.csproj直接打开一个而不是通过解决方案文件,并且.csproj像这样导入 Nuget 目标时,通常会发生此错误:

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

为了解决它,您可以打开.sln而不是.csproj直接打开...或删除import上面的行。

请注意,仅当您使用包还原时才会发生上述错误solution wise,甚至不再推荐。

于 2015-08-28T21:15:54.863 回答
6

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

Nuget 告诉我它找不到“C:\git\My Path”,但我能够导航到“C:\git\My%20Path”。删除文件夹名称中的空格“修复”了该问题。

于 2016-06-23T16:48:43.367 回答
2

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

关闭 Visual Studio 如果您尝试迁移的解决方案在 Visual Studio 中打开,则更改可能会丢失。在某些情况下,Visual Studio 可能会覆盖/忽略您的更改,当 NuGet 扩展程序发现解决方案中的某些项目丢失时,它也会尝试重新启用包还原。

如果您使用 TFS 从解决方案的 .nuget 文件夹中删除 NuGet.exe 和 NuGet.targets 文件。确保文件本身也从解决方案工作区中删除。保留 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 修复

于 2016-05-19T14:20:57.247 回答
1

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

于 2013-06-27T21:25:48.353 回答
1

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

  1. 右键单击解决方案文件
  2. 从上下文菜单中单击“启用 Nuget 包还原...”选项

这将下载“ .nuget”文件夹中丢失的文件:)

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

更新: 请注意,对于 2013 年以后的 Visual Studio 版本,该选项称为“还原 NuGet 包

于 2014-05-12T09:42:26.870 回答