Le type 'Object' est défini dans un assembly qui n'est pas référencé (NET Standard 2.0/.NET Framework 4.6.1)

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Le type 'Object' est défini dans un assembly qui n'est pas référencé (NET Standard 2.0/.NET Framework 4.6.1)

Message par ForumBot »

J’utilise la version preview de .NET Standard 2.0, sur laquelle mes bibliothèques de classes sont basées.


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.


Le .NET Framework 4.6.1 est censé implémenter la spécification .NET Standard 2.0 - selon différentes sources. Notamment le dépôt GitHub dotnet/standard.


Malheureusement, la migration vers le .NET Framework a entraîné les erreurs suivantes dans tous les projets Console .NET Framework :


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’.


Object peut être n’importe quoi : Enum, Task, …


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 ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Le type 'Object' est défini dans un assembly qui n'est pas référencé (NET Standard 2.0/.NET Framework 4.6.1)

Message par ayi »

Essayez d’ajouter une référence à netstandard dans web.config comme ci-dessous :


<system.web>
<compilation debug="true" targetFramework="4.7.1">
<assemblies>
<add assembly="netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51"/>
</assemblies>
</compilation>
</system.web>

Répondre

Revenir à « .NET & C# »