Как решить ошибку «Необходимо использовать PackageReference»? (VS2017, C #, WinForms, WinRT) - PullRequest
0 голосов
/ 24 октября 2019

После добавления WindowsRuntime в WinForms-проект сборка проекта завершается с ошибкой «Необходимо использовать PackageReference». Более точный журнал сборки:

C: [...] \ Visual Studio 2017 \ Projects \ Имя проекта \ packages \ Microsoft.Windows.SDK.Contracts.10.0.18362.2005 \ build \ Microsoft. Windows.SDK.Contracts.targets (4,5): ошибка: необходимо использовать PackageReference

Вот что я сделал:

Install-Package Microsoft.Windows.SDK.Contracts

со ссылками на:

  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETCore \ v4.5 \ System.Runtime.WindowsRuntime.dll,
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.Runtime.dll
  • C: \ Программные файлы (x86) \ Справочные сборки \Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.Threading.Tasks.dll
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.IO.dll
  • C: \ Program Files (x86) \ Справочные сборки \ Microsoft \ Framework.NETFramework \ v4.5 \ Facades \ System.Runtime.InteropServices.WindowsRuntime.dll.

Может, дело в версии .NET? В файле packages.config есть 4.6, а проект нацелен на 4.5.

<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.Windows.SDK.Contracts" version="10.0.18362.2005" targetFramework="net45"/>
<package id="System.Runtime.WindowsRuntime" version="4.6.0" targetFramework="net45" />
<package id="System.Runtime.WindowsRuntime.UI.Xaml" version="4.6.0" targetFramework="net45" />
</packages>

Нет ошибок компиляции ... только эта странная ошибка PackageReference.

Спасибо за вашу мудрость.

...