Souci de version C# : Comment faire pour la mettre à jour ?

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Ieneko1999
Messages : 4
Inscription : 18 Fév 2022 15:38

Souci de version C# : Comment faire pour la mettre à jour ?

Message par Ieneko1999 » 18 Fév 2022 15:51

Bonjour tout le monde,

J'apprends le codage depuis peux et j'ai un soucis sur Visual Studio 2022.
J'essaye de faire un FPS sur Unity en suivant une formation sur Elephorm et en tapant le même code que la personne j'ai une erreur qui apparait me disant que je suis en C#8.0 est que le code entré est en C#9.0 or que comme le SDK .Net 6.0 est installé je suis sensé être en C# 10.0.
Que dois-je faire pour dire à Visual Studio 2022 d'utiliser C#10.0 au lieu du C# 8.0 ?

Voici le code que je dois mettre :
[CreateAssetMenu(fileName ="NewBullet", menuName ="Bullet")]

Et voici l'erreur rencontré :
CS8400 La fonctionnalité 'instructions de niveau supérieur' n'est pas disponible en C# 8.0. Utilisez la version de langage 9.0 ou une version ultérieure.

Merci pour votre aide.

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Max » 18 Fév 2022 19:03

Bonjour,

A ma connaissance, Unity Editor ne supporte pas encore C#10. C#9 est supporté à partir des versions 2022 et 2021.2.
Avant c'est C#8 pour 20201.1 par exemple. CF la doc pour les détails.

Ieneko1999 a écrit :
18 Fév 2022 15:51
Voici le code que je dois mettre :
[CreateAssetMenu(fileName ="NewBullet", menuName ="Bullet")]
Je ne vois pas vraiment où se situe le soucis avec cette ligne de code, si elle est bien insérée et si elle concerne la création d'un ScriptableObject.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Ieneko1999
Messages : 4
Inscription : 18 Fév 2022 15:38

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Ieneko1999 » 18 Fév 2022 19:25

Elle concerne bien un scriptable object.
Ce que je ne comprends pas c'est que dans ma formation il utilise un Unity 2020.2 or qu'il utilise du C# 9.0.
Tandis que moi de mon coté j'utilise Unity 2020.3 mais que mon C# est du 8.0.
Et pour Visual Studio lui comme moi utilisons le 2022.

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Max » 18 Fév 2022 19:36

Ceci dit j'ai du mal à voir le rapport avec ta ligne de code, qui devrait fonctionner sans soucis, même sur des versions antérieures d'Unity (2019, 2018,...).
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Ieneko1999
Messages : 4
Inscription : 18 Fév 2022 15:38

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Ieneko1999 » 18 Fév 2022 19:41

Pourtant Visual Studio me dit que je dois être en C#9 pour l'utiliser.
Et Unity me le considère aussi comme une erreur.

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Max » 18 Fév 2022 19:57

Hmm, étrange.
Je viens de relancer la version 2020 d'Unity, et VisualStudio 2022 et je ne rencontre aucun soucis.
(mes SO ne font pas crier VS).
as tu le code complet de ton script, cela pourrait mieux nous éclairer (après si c'est issu d'une formation payante, c'est délicats j'imagine en terme de droit).
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Ieneko1999
Messages : 4
Inscription : 18 Fév 2022 15:38

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Ieneko1999 » 18 Fév 2022 20:43

Bon bah après avoir installer Unity 2021 et avoir dû réinstaller mon Visual Studio 2022, le script ne m'indique plus d'erreur pour le SciptableObject.

Oui Bien sûre voici le code que j'utilise (il n'est pas fini à 100% mais avec celà je n'ai déjà plus d'erreur) :

Code : Tout sélectionner

using UnityEngine;

[CreateAssetMenu(fileName = "NewBullet", menuName = "Bullet")]

public class BaseBullet : ScriptableObject
{
    public int DamageCause;
    public float SpeedBullet;
}

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: Souci de version C# : Comment faire pour la mettre à jour ?

Message par Max » 19 Fév 2022 12:28

une bizarrerie de plus ;)
Et effectivement, je ne vois pas pourquoi ce code poserait problème.
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Répondre

Revenir vers « Scripting »