Bonjour,

Je suis relativement débutant sur cette techno et il y a encore pas mal de trucs qui m'échappe.
J'interviens sur un projet visant à migrer une librairie initialement codée en .NET Core 3.1 en .NET Standard 2.0.
De ce que j'ai pu lire sur la doc officielle et quelques forums, ce n'est pas compliqué vu que .NET Standard 2.0 est sensé fonctionner avec .NET Core 3.1 (si j'ai bien compris)
En passant par Visual Studio :
  • J'ai déchargé le projet
  • Je suis aller dans les propriétés et j'ai choisi Framework cible = .NET Standard 2.0
  • J'ai rechargé le projet et générer la solution.

Sauf que maintenant, pour cette ligne-ci, j'ai une erreur de compilation que je n'avais pas avant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
public string encodeByteToString(byte[] pArray) {
            return new string(Encoding.UTF8.GetString(encodeByteToByte(pArray)));
}
L'erreur en question :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
CS1503	Argument 1*: conversion impossible de 'string' en 'char*'
D'où mes interrogations:
  • J'imagine que je me suis trompé quelque part, mais je n'arrive pas à trouver où?
  • Est-ce que la classe System.Text.Encoding est compatible avec .NET Standard? Je ne vois pas à quel moment on indique un "char*" quand toutes les signatures indiquent String.
  • Et plus généralement, j'imagine que les bonnes pratiques sont d'utiliser .NET Standard ? Mais dans ce cas, est-ce que tous mes projets ayant ma librairie en dépendances doivent aussi passés en .NET Standard?


Si une bonne âme pouvait prendre le temps de répondre à au moins une des questions, cela m'aiderait beaucoup.

PS: Désolé pour ce long post et ces multiples interrogations, mais là j'avoue que je suis un peu perdu dans toutes ces informations