J'ai une bibliothèque de classes sur netstandard1.5
, mon project.json
est ci-dessous. Lors de l'exécution dotnet build
, j'obtiens des erreurs telles que :
The type 'Exception' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
The type 'Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
The type 'Uri' is defined in an assembly that is not referenced. You must add a reference to assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
The type 'Stream' is defined in an assembly that is not referenced. You must add a reference to assembly 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e, Retargetable=Yes'.
Dans les packages RC1, je pourrais faire référence System.Runtime
et cela serait corrigé. Cependant, maintenant, RC2 et moi faisons référence NETStandard.Library
, ce package est inclus.
Je suis complètement perplexe quant à la raison pour laquelle j'obtiens ces erreurs.
projet.json
{
"version": "1.0.0-*",
"dependencies": {
},
"frameworks": {
"netstandard1.5": {
"imports": [ "dnxcore50", "portable-net45+win8+wp8+wpa81" ],
"dependencies": {
"Enums": { "target": "project" },
"VQViewModels": { "target": "project" },
"NovellLdap2": { "target": "project" },
"DDay": {"target": "project"},
"NETStandard.Library": "1.5.0-rc2-24027",
"System.Xml.XmlSerializer": "4.0.11-rc2-24027",
"System.Data.Common": "4.0.1-rc2-24027",
"System.Diagnostics.TraceSource": "4.0.0-rc2-24027",
"System.Net.Requests": "4.0.11-rc2-24027",
"System.Xml.XmlDocument": "4.0.1-rc2-24027",
"System.Xml.XPath.XmlDocument": "4.0.1-rc2-24027",
"System.Collections.Specialized": "4.0.1-rc2-24027",
"System.Data.SqlClient": "4.1.0-rc2-24027",
"System.Threading.Thread": "4.0.0-rc2-24027",
"System.Collections.NonGeneric": "4.0.1-rc2-24027",
"System.Diagnostics.TextWriterTraceListener": "4.0.0-rc2-24027",
"Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final",
"Dapper": "1.50.0-rc2",
"FubarCoder.RestSharp.Portable.HttpClient": "3.2.0",
"MailKit": "1.3.0-beta7",
"Npgsql": "3.1.0"
}
}
}
}
J'ai essayé d'isoler mais je ne peux pas le reproduire. Les références de projet sont simplement des bibliothèques avec des classes comme ci-dessous, sans logique ni dépendances
public class Person
{
}
L'un de vos packages apporte un PCL basé sur mscorlib (probablement en raison de votre utilisation de "imports":"portable-net45+win8+wp8+wpa81"
). Pour résoudre ce problème, vous devez référencer "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027". Ce package permet la compatibilité avec les PCL basés sur mscorlib.
Merci à ce paquet, après avoir parlé à @davidfowl, nous avons souligné qu'il s'agissait FubarCoder.RestSharp.Portable.HttpClient
et que le imports
apportait la BCL.
Commentaire le plus utile
L'un de vos packages apporte un PCL basé sur mscorlib (probablement en raison de votre utilisation de
"imports":"portable-net45+win8+wp8+wpa81"
). Pour résoudre ce problème, vous devez référencer "Microsoft.NETCore.Portable.Compatibility": "1.0.1-rc2-24027". Ce package permet la compatibilité avec les PCL basés sur mscorlib.