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

Visual studio 由于找不到nuget.targets错误,在Visual Studio中打开项目失败,visual-studio,nuget,twitterizer,Visual Studio,Nuget,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. 未找到导入的项目“C:\Twitterizer\.nuge

所以我从

我尝试在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.
未找到导入的项目“C:\Twitterizer\.nuget\nuget.targets”。
确认声明中的路径正确,并且文件
存在于磁盘上。
发生了什么事。我该怎么处理

  • 安装Nuget
  • 右键单击解决方案并选择“启用NuGet” 包还原”。在Visual Studio 2013及更高版本中,选择“还原NuGet软件包”
  • 单击警告上的“确定”
  • 关闭并重新打开解决方案

  • 现在应该很好了。

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

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

    在Visual Studio解决方案资源管理器中,为了还原丢失的
    NuGet.targets,出现此错误时最简单的解决方案是:

  • 在解决方案文件上单击鼠标右键
  • 从关联菜单中单击“启用Nuget软件包还原”…”选项
  • 这将下载“
    .nuget
    ”文件夹中缺少的文件:)

    以上假设您已经安装了Nuget-如果没有安装,请按照上面接受的答案操作

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

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

    <Import Project="$(SolutionDir)\.nuget\NuGet.targets" />
    
    
    
    要解决此问题,您可以直接打开
    .sln
    而不是
    .csproj
    ,或者删除上面的
    导入


    请注意,仅当您使用
    解决方案智能
    软件包还原时,才会发生上述错误,这已不再推荐使用。

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

    如果您尝试迁移的解决方案无效,请关闭Visual Studio 在Visual Studio中打开,则更改可能会丢失。Visual Studio可能 在某些情况下覆盖/忽略您的更改以及NuGet扩展 当看到一些项目时,还将尝试重新启用包还原 在解决方案中,我们缺少它

    如果使用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
    
    <PropertyGroup>
        <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download
    
    
    此项目引用此计算机上缺少的NuGet包。启用NuGet包还原以下载
    
    他们。有关详细信息,请参阅 . 丢失的文件是 {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
    
    <PropertyGroup>
        <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download
    
    
    此项目引用此计算机上缺少的NuGet包。启用NuGet包还原以下载
    
    他们。有关详细信息,请参阅 . 丢失的文件是 {0}. 迁移脚本 许多用户已请求使用迁移工具来禁用 基于MSBuild的包还原并转换为自动包 恢复NuGet团队决定不提供受支持的工具 这是因为边缘情况的高概率 未处理。然而,欧文·约翰逊(Owen Johnson)编写了一个PowerShell脚本 在许多情况下都可以工作。它在GitHub上可用,可以在 你自己的风险。换句话说,一定要致力于源代码管理 在运行它之前,以防它在您的场景中不起作用


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


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

    要扩展此案例-如果您将项目从具有显式.nuget\nuget.targets文件的解决方案移动到新的解决方案,您将看到此问题(即使在还原nuget包之后),要么创建nuget.targets,要么手动编辑项目文件。我也应用了这个解决方案,因为我的项目使用了非nuget包,而VS似乎自动生成了这个东西。感谢上天的版本控制,它使得从.csproj中删除添加的行成为可能。必须删除哪个段?感谢这一点,如果他们在VS中为此提供了更有用的错误消息,那就太好了。我仍然会收到这个错误,尽管这不再适用于nuget 2.7。您需要在@Slapout中进行解决(对原始问题的评论)这里仍然不起作用,它说没有更多的依赖项要还原。我已经删除了包文件夹并还原了几次:(请注意,以防其他人遇到此问题。Nuget 2.7引入了一种新的包还原类型。如果您尝试将使用旧样式的项目添加到使用ne的解决方案中