'How to solve the error "Must use PackageReference"?
After adding WindowsRuntime
to a WinForms-project, building the project fails with Error "Must use PackageReference". The build log is more precise:
C:[...]\Visual Studio 2017\Projects\Projectname\packages\Microsoft.Windows.SDK.Contracts.10.0.18362.2005\build\Microsoft.Windows.SDK.Contracts.targets(4,5): error : Must use PackageReference
Here's what I did:
Install-Package Microsoft.Windows.SDK.Contracts
with references to:
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5\System.Runtime.WindowsRuntime.dll,
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\System.Runtime.dll
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\System.Threading.Tasks.dll
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\System.IO.dll
- C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.5\Facades\System.Runtime.InteropServices.WindowsRuntime.dll.
Is it maybe a thing with the .NET version? In the project's packages.config there is 4.6 while the project targets 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>
There are no compile errors... only this strange "PackageReference" error.
Solution 1:[1]
VS2017/VS2019
-> Solution Explorer
-> right-click References
-> "Migrate packages.config to PackageReference"
VS2019
-> Solution Explorer
-> right-click packages.config
-> "Migrate packages.config to PackageReference"
I think this happens when you add a .NET core library to a .NET standard project.
Solution 2:[2]
Solution that worked for me was to:
- Run a Clean on the project in question
- Close Visual Studio
- Navigate to the project folder on disk and delete the obj folder
- Reopen Visual Studio and Build
Solution 3:[3]
Solution 4:[4]
Go to your .csproj and remove the references to the package. On my case they were at the end of the XML file
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | |
Solution 2 | Chris |
Solution 3 | Taran |
Solution 4 | Lugube |