nuget无法识别已安装的软件包

SOR*_*EED 10 .net c# visual-studio nuget visual-studio-2012

我在Git上有一个使用NuGet库的C#项目.一切正常,但是当我使用新的新机器并在Visual Studio中打开解决方案时,由于引用中断,它将无法编译.如果我点击项目下的引用,我可以看到带有黄色感叹号的经典警告标志.

Nuget还原不会做任何事情(我仍然没有找到任何使用此功能...),文件repositories.config很好.如果我右键单击解决方案然后"管理NuGet软件包以获得解决方案",则不会显示已安装的软件包.

直到今天我都是这样解决的:跑步

Install-Package package_name
Run Code Online (Sandbox Code Playgroud)

它说:

'package_name' already installed.
My_project already has a reference to 'package_name'.
Run Code Online (Sandbox Code Playgroud)

...之后它显示了Manager上已经分配给正确项目的包.


在任何地方的代码中都没有改变,我可以看到,因为Git没有差异.

我必须在新机器上只做一次,但它真的很烦人.任何的想法?


NuGet版本:2.8.60318.667


更新 27/07

我在另一台PC上尝试过程,使用Windows 10,一切正常......相同版本的Visual Studio,NuGet等...我很困惑

rjs*_*jso 7

在我的脑海中,我可以想到一些没有下载软件包的原因,理想情况下,您必须分享更多详细信息。

首先 install-package 命令不起作用。您的软件包已经安装,VS 只是无法下载它们,因此您收到该错误是有道理的。

  • 首先,这是一个托管在 nuget.org 中的公共包,如 System.MVC.Web?因为如果这是在一台新机器上,使用私有 nuget 服务器,您需要在工具 > 选项 > Nuget 包管理器 > 包源中配置该源。(有关更多详细信息,请参阅https://docs.microsoft.com/en-us/nuget/tools/package-manager-ui
  • 检查您是否已将文件夹添加到 git 存储库,但同时为其内容设置了排除项。要检查是否在进行干净结帐时查看文件夹是否存在但为空。如果是这种情况,只需删除文件夹,从现在开始 git ignore 就应该完成它的工作,并且每个新克隆都将进行适当的检查。
  • 如果以上两个最有可能是原因的不起作用。尝试从包管理器控制台恢复包,并使用详细信息更新您的帖子。

您可以打开包管理器控制台并键入:

Update-Package -reinstall
Run Code Online (Sandbox Code Playgroud)

或者

Update-Package -reinstall -Project YourProjectName
Run Code Online (Sandbox Code Playgroud)

仅供参考,Microsoft 提供了全面的文档 - https://docs.microsoft.com/en-us/nuget/consume-packages/package-restore - 关于恢复 nuget 包的多种方法


Nam*_*man 7

这可能是因为.csproj中.dll的路径不正确.包还原将包下载到本地目录.它不改变组件的参考路径中的.csproj,这意味着该项目仍然会尝试找到在本地目录中的DLL.黄色标记表示项目无法找到装配体.

卸载项目,右键单击项目并选择"编辑.csproj",并验证缺少dll的路径.例如 - 如果您有NUnit,

<Reference Include="nunit.framework">
      <HintPath>..\packages\NUnit.3.6.1\lib\net45\nunit.framework.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)

验证"\ packages\NUnit.3.6.1\lib \net45"目录中是否存在dll.


小智 2

我已经解决了这个问题。请按照以下步骤操作

  1. 在 Visual Studio 中,单击“工具” > “扩展和更新”
  2. 导航到Online,搜索“ NuGet Package Manager for Visual Studio ”并单击“更新”
  3. (如果没有按钮Update,请导航到Updates > Visual Studio Gallery,找到“NuGet Package Manager for Visual Studio”并单击Update。)
  4. 然后重新启动 Visual Studio。