Я только что создал рабочую область на новой машине, получил последний из нашего проекта из TFS, включил NuGet Restore, и я получаю следующий (снятый) вывод:
1>------ Rebuild All started: Project: Caching, Configuration: Debug Any CPU ------
1> Restoring NuGet packages...
1> To prevent NuGet from downloading packages during build, open the Visual Studio Options dialog, click on the Package Manager node and uncheck 'Allow NuGet to download missing packages'.
1> All packages listed in packages.config are already installed.
1> Caching Framework -> C:\MyProjLocation\Caching\bin\Debug\Caching.dll
2>------ Rebuild All started: Project: Library, Configuration: Debug Any CPU ------
2>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1635,5): warning MSB3245: Could not resolve this reference. Could not locate the assembly "LumenWorks.Framework.IO". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.
2>C:\MyProjLocation\Library\SomeClass.cs(2,7,2,17): error CS0246: The type or namespace name 'LumenWorks' could not be found (are you missing a using directive or an assembly reference?)
========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========
Ни один из пакетов NuGet не был восстановлен (их более 10 - я удалил их из вышеописанного вывода для удобства чтения).
Похоже, что NuGet даже не пытается восстановить пакеты для второго проекта (Library).
Я уже пробовал перемещать импорт целей NuGet ниже импорта CSharp в файл Library.csproj
, как указано здесь, но он все еще не работает:
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />
Я запускаю последнюю версию NuGet (2.7.41101.371) на Visual Studio 2013.
Изменить: packages.config
существует, а диспетчер пакетов NuGet имеет проект библиотеки, отмеченный правильными пакетами.