我创建了一个项目 (asp mvc 4) 并使用 nuget 向其中添加了 dll。然后我将它提交给 bitbucket,最后克隆到同一台 PC 上的不同目录。在克隆的项目中,每个引用都显示错误(黄色感叹号)
我允许 nuget 管理包:
我的解决方案中也有 nuget 文件:
克隆后我的解决方案中没有“packages”文件夹,但在第一次尝试构建后它出现了,如果充满了 dll。我的 .gitignore:
#NuGet
packages/
如何让它发挥作用?
编辑
构建输出(顺便说一句,构建花费了几分钟分钟,在它失败后整个 VS 卡住了——我什至无法复制错误消息):
当我右键单击任何引用并转到属性时,“路径”为空。
我的.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 文件夹并删除 .gitignore 中的行,尽管我承认你之前选择不这样做。
编辑:
另一个想法:如果您在没有安装 .net 4.5 或 asp.net mvc 4 的机器上打开解决方案,您可以获得这种体验。
关于c# - Nuget 无法管理从 git 克隆的项目中的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14418594/