Possible solution: If you see yellow triangles over most of your system links, edit your .csproj file (just in case), scroll down to the end of the file, and delete these lines ...
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild"> <PropertyGroup> <ErrorText>This project references NuGet package(s) that are missing on this computer. Enable NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText> </PropertyGroup> <Error Condition="!Exists('$(SolutionDir)\.nuget\NuGet.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\.nuget\NuGet.targets'))" /> </Target>
Like so many others, I use a centralized .packages folder outside of source control. This is done using the following lines in your NuGet.Config file:
<?xml version="1.0" encoding="utf-8"?> <configuration> <config> <add key="repositoryPath" value="..\..\..\.packages" /> </config> <solution> <add key="disableSourceControlIntegration" value="true" /> </solution> </configuration>
One of the steps in this is to verify that your project file no longer uses the old NuGet.targets file (the only file in the folder with the .nuget solution should be NuGet.Config ).
When NuGet believes that it should check the NuGet.targets file and it does not exist, it will also check the checks for basic links (for example, System.Core , WindowsBase and PresentationCore ).
Update: See this topic / answer on how to completely get rid of .nuget folders in your solution! It can be set at the user profile level in AppData.
Heliac
source share