Must Use Packagereference

Microsoft.Windows.Sdk.Contracts Must Use PackageReference: A Guide for Developers

If you`re a developer building Windows applications, you`re probably familiar with the Microsoft.Windows.Sdk.Contracts package. This package provides a set of interfaces and classes that help you write code that`s compatible with different versions of Windows.

Recently, Microsoft announced that starting from version 10.0.17763.0, the Microsoft.Windows.Sdk.Contracts package will require developers to use PackageReference instead of the old-style project.json format. This change will affect all projects that use the package, including those that target .NET Framework, .NET Core, and Universal Windows Platform (UWP).

Why the Change?

The primary reason for the change is to simplify the way packages are managed in Visual Studio. Using PackageReference makes it easier for developers to manage dependencies and ensures that all packages are kept up-to-date.

Additionally, using PackageReference lets you take advantage of the latest features in Visual Studio, including the ability to manage package references directly from the Solution Explorer.

How to Migrate to PackageReference

If your project uses the Microsoft.Windows.Sdk.Contracts package and you`re still using the project.json format, you`ll need to migrate to PackageReference to continue using the package.

Here`s how to do it:

1. Open your project in Visual Studio and navigate to the Solution Explorer.

2. Right-click on your project and select “Unload project.”

3. Right-click on the project again and select “Edit project file.”

4. Remove all references to the Microsoft.Windows.Sdk.Contracts package in the project file.

5. Add the following code to the project file:



Note: Replace “x.x.x” with the version number of the Microsoft.Windows.Sdk.Contracts package that you want to use.

6. Save the project file and close it.

7. Right-click on the project in the Solution Explorer and select “Reload project.”

That`s it! Your project should now be using the Microsoft.Windows.Sdk.Contracts package with PackageReference.

Final Thoughts

Migrating to PackageReference might seem like a daunting task, but it`s an essential step for developers who want to keep their projects up-to-date and take advantage of the latest features in Visual Studio.

As a professional, my final advice is to ensure that your migration process is properly documented, so that anyone who needs to update or modify your code can do so easily. Additionally, make sure that your project is thoroughly tested after the migration to ensure that everything works as expected.