<p>J’utilise la version preview de <a href="https://blogs.msdn.microsoft.com/dotnet/2017/05/10/announcing-net-core-2-0-preview-1/" rel="noopener nofollow ugc">.NET Standard 2.0</a>, sur laquelle mes bibliothèques de classes sont basées.</p>
<p>Après avoir eu des problèmes avec certains packages NuGet, notamment concernant l’extraction d’archives, j’ai décidé de migrer mes projets Console .NET Core 2.0 vers le .NET Framework 4.6.1.</p>
<p>Le .NET Framework 4.6.1 est censé implémenter la spécification .NET Standard 2.0 - selon différentes sources. Notamment le <a href="https://github.com/dotnet/standard/blob/master/docs/versions.md" rel="noopener nofollow ugc">dépôt GitHub dotnet/standard</a>.</p>
<p>Malheureusement, la migration vers le .NET Framework a entraîné les erreurs suivantes dans tous les projets Console .NET Framework :</p>
<p>Error CS0012 Le type ‘Object’ est défini dans un assembly qui n’est pas référencé. Vous devez ajouter une référence à l’assembly ‘netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51’.</p>
<p>Où <code>Object</code> peut être n’importe quoi : <code>Enum</code>, <code>Task</code>, …</p>
<p>Comment référencer des bibliothèques de classes .NET Standard 2.0 avec le .NET Framework (4.6.1) sans obtenir de telles erreurs ?</p>