"Пакет System.Net.Http с версией 4.1.1 не найден в C: \ Program Files (x86) \ Microsoft SDKs \ NuGetPackages \." - PullRequest
0 голосов
/ 02 мая 2019

Я пытаюсь оценить программный SDK для отображения файлов PDF. Он поставляется с несколькими примерами проектов, но у меня возникают проблемы при создании проектов C ++. Я почти уверен, что это проблема моей локальной среды, но я не знаю, как ее исправить:

Проекты представляют собой решение Visual Studio, которое будет использоваться в Visual Studio 2017. После первого открытия мне сказали установить недостающие функции (VS17 была простой установкой без каких-либо рабочих нагрузок ранее):

Install Universal Windows Platform development and C++ universal Windows Platform tools

После установки этого, а также работы с набором инструментов платформы и общими целевыми настройками платформы я наконец смог создать библиотечную часть C ++, которая создает файл .dll, который будет использоваться другими 2 проектами C ++. (Я также могу подтвердить, что это работает нормально, так как включенный проект C # прекрасно использовал библиотеку.)


Но для 2 оставшихся проектов C ++ я получаю эту ошибку при сборке:

The package System.Net.Http with version 4.1.1 could not be found in C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\. Run a NuGet package restore to download the package. 
FunctionDemo    
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets  
377

К сожалению, я понятия не имею, что значит «Используйте NuGet Package Restore для их загрузки». означает в этом контексте - и в решении, и во всех проектах ничего не указано при использовании Manage NuGet Packages... в Visual Studio. Так что я даже не знаю, откуда взялась эта зависимость. (Возможно, это часть общих SDK, которые я установил?)


При двойном щелчке появляется сообщение об ошибке C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Microsoft\NuGet\15.0\Microsoft.NuGet.targets с этим:

<ResolveNuGetPackageAssets Condition="Exists('$(FrameworkInjectionLockFile)')"
                           NuGetPackagesDirectory="$(FrameworkInjectionPackagesDirectory)"
                           RuntimeIdentifier="$(NuGetRuntimeIdentifier)"
                           TargetMonikers="$(NuGetTargetMonikerToInject)"
                           ProjectLockFile="$(FrameworkInjectionLockFile)">

Но я думаю, это довольно стандартно. Это говорит мне что-то, откуда появляется ошибка?


В файловой системе C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\System.Net.Http\4.1.1 действительно не существует. Любая попытка заполнить его вручную (загрузить пакет nuget вручную в проект и скопировать результаты здесь, используя любые решения или команды, которые я могу найти в Интернете), не удалась.


Если выяснилось, что C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\ является источником пакета Microsoft Visual Studio Offline Packages, который я могу просмотреть через Параметры -> Диспетчер пакетов NuGet -> Источники пакетов в Visual Studio 2017, но отключение его там ничего не изменило в сообщении об ошибке. .


Я смотрю не в том месте?
Это действительно моя локальная проблема или проблема проекта?
Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 03 мая 2019

Я "исправил" это, получив папку C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\System.Net.Http\4.1.1 от другого разработчика.Затем сообщение об ошибке переключилось на другие пакеты, так что в конце он отправил мне свои полные C:\Program Files (x86)\Microsoft SDKs\NuGetPackages, и я скопировал папки, пока он наконец не скомпилировался.или SDK, который, по мнению Visual Studio, был установлен, но на самом деле его не было: /

Оставить вопрос без ответа, хотя и в надежде, что кто-то придет и узнает исправление real .

...