Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Nuget无法管理从git克隆的项目中的引用_C#_.net_Visual Studio 2010_Git_Nuget - Fatal编程技术网

C# Nuget无法管理从git克隆的项目中的引用

C# Nuget无法管理从git克隆的项目中的引用,c#,.net,visual-studio-2010,git,nuget,C#,.net,Visual Studio 2010,Git,Nuget,我创建了一个项目(asp mvc 4)并使用nuget向其中添加DLL。然后我将其提交到bitbucket,并最终克隆到同一台PC上的不同目录。在克隆的项目中,每个引用都显示一个错误(黄色感叹号) 我允许nuget管理软件包: 我的解决方案中还有nuget文件: 在克隆之后,我的解决方案中没有“packages”文件夹,但在第一次尝试构建之后,它会出现,并且如果已填充DLL。我的.gitignore: #NuGet packages/ 我如何让它工作 编辑 构建输出(顺便说一句,构建花费

我创建了一个项目(asp mvc 4)并使用nuget向其中添加DLL。然后我将其提交到bitbucket,并最终克隆到同一台PC上的不同目录。在克隆的项目中,每个引用都显示一个错误(黄色感叹号)

我允许nuget管理软件包:

我的解决方案中还有nuget文件:

在克隆之后,我的解决方案中没有“packages”文件夹,但在第一次尝试构建之后,它会出现,并且如果已填充DLL。我的.gitignore:

#NuGet
packages/
我如何让它工作

编辑

构建输出(顺便说一句,构建花费了几分钟,失败后整个VS冻结-我甚至无法复制错误消息):

当我右键单击任何引用并转到属性时,“路径”为空

my.csproj:

<Reference Include="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
      <Private>True</Private>
          <HintPath>..\packages\Microsoft.Web.Infrastructure.1.0.0.0\lib\net40\Microsoft.Web.Infrastructure.dll</HintPath>
    </Reference>

真的
..\packages\Microsoft.Web.Infrastructure.1.0.0\lib\net40\Microsoft.Web.Infrastructure.dll

该文件实际存在于给定位置。

看起来一切正常。(除了黄色感叹号图标,你还看到其他错误吗?)唯一奇怪的是剩下的黄色图标。这很可能只是一个刷新问题。按解决方案窗口顶部的刷新按钮(两个箭头),或关闭并重新打开解决方案。你会发现黄色的感叹号不见了,一切都很好

或者,提交packages文件夹并删除.gitignore中的行,尽管我承认您以前选择不这样做

编辑:


另一种想法:如果您在未安装.net 4.5或asp.net mvc 4的计算机上打开解决方案,您可能会获得这种体验。

您在VS的错误列表中看到了哪些警告?@abatishchev请查看编辑部分。您提交了packages.config文件吗?@AndrzejGis每次我克隆git存储库时,我的所有nuget和repo的二进制引用上都有黄色的感叹号。我需要单击任何有问题的感叹号引用的属性,项目中的所有这些引用都将更新并删除感叹号。我的解决方案中的每个项目都需要这样做。关闭并重新打开解决方案后,它通常会生成。只需在VS中单击而不进行实际更改,似乎就能“修复”它。但我希望有一个更自动的解决方案。我不知道为什么,但当我再次运行Visual Studio时,问题解决了。请查看编辑,我提交了错误。“或者,提交packages文件夹并删除.gitignore中的行”我已经使用了这种解决方法,但我想这不是正确的方法。据我所知,避免在回购协议中包含DLL是nuget的目标之一。