The same symptom as Nuget Packages are there but missing References but much simpler use case to duplicate:
- User A checkin his/her code into TFS
- User B (or C, D, etc) get the solution from TFS, for the first time, or into a brand new place.
Result: all References dll maintained by Nuget showing broken yellow triangle, even after the "Clear All NuGet Cache" and "Update-Package -reinstall
" hack recommended by that thread. Closing & reopening VS & solution won't work, despite that the dll are exactly there, as hinted, after Update-Package -reinstall
.
This is VS2017 version 15.3.5.
UPDATE:
Turns out what "available" was an ".xml
" file, whose extension was not shown normally in File Explorer. I.e., the ".dll
" file is missing and is not restored by Update-Package -reinstall
.
UPDATE2:
The Update-Package -reinstall
is not working because it failed to add reference
(Reference unavailable
). Here is the full log: Update: removed after it is solved, see the history, or check out from https://pastebin.com/1e5axkTm.
As I look at the log, I see,
Package 'NUnit 3.6.1' does not exist in project 'MyProj'
Package 'NUnit 3.6.1' already exists in folder '\Path\To\MySolution\packages'
...
Update-Package : Failed to add reference to 'nunit.framework'.
Reference unavailable.
My interpretation is, because the nunit.framework
DLL in not in TFS, thus it is not available locally for User B (or C, D, etc) who gets the solution from TFS, but Update-Package -reinstall
does not notice and cannot fix the problem. Hence causing more problem down the road -- failed to add reference
(Reference unavailable
).
UPDATE3:
Thanks to @LeoLiu-MSFT & @starianchen-MSFT's help, not including the package folder in Source Control solved the above problem. The "Update-Package -reinstall
" don't have any errors now (in case you need to double-check, https://pastebin.com/e8TpXg2D)
FINAL UPDATE:
Yes, @LeoLiu-MSFT & @starianchen-MSFT, not including the package folder in Source Control is the key! please answer so that I can accept.
The following are caused by an entirely different issue -- All MS VS References broken after project moved.
However, even after above, and use "NuGet Package Restore" to download them, I'm still getting the following:
Error This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Selenium.WebDriver.ChromeDriver.2.28.0\build\Selenium.WebDriver.ChromeDriver.targets.
- I've checked the page of http://go.microsoft.com/fwlink/?LinkID=322105, the "
Allow NuGet to download missing packages
" and "Automatically check for missing packages during build in Visual Studio
" have already been checked.- I've removed the
packages\Selenium.WebDriver.ChromeDriver.2.28.0
folder several times, and did "NuGet Package Restore" several times as well, but the problem remains.What's the proper fix?