IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Coder JavaScript depuis C#


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut Coder JavaScript depuis C#
    Bonjour à tous,
    Je souhaiterais pouvoir coder du javascript depuis une appiication console c# Framework .net 4.8.
    J'ai essayé d'ajouter à mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using System.Runtime.InteropServices;
    Quand j'essaie d'utiliser Interop :
    J'ai l'erreur : Erreur de compilateur CS0122


    "membre" est inaccessible en raison de son niveau de protection

    Je n'arrive pas à trouver une bonne solution, si quelqu'un a une idée. MERCI

  2. #2
    Membre Expert
    Avatar de PixelJuice
    Homme Profil pro
    Ingénieur .NET & Game Designer
    Inscrit en
    Janvier 2014
    Messages
    661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Ingénieur .NET & Game Designer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2014
    Messages : 661
    Par défaut
    Bonjour,

    Alors Interop ça ne sert pas du tout à ça, c'est + pour utiliser des composants COM ou utiliser du C++.

    Il te faut un interpréteur pour le JavaScript, et ça tombe bien, Microsoft a déjà ça en stock : Microsoft.ClearScript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    using System;
    using Microsoft.ClearScript;
    using Microsoft.ClearScript.V8;
     
    class Program
    {
        static void Main(string[] args)
        {
            using (var engine = new V8ScriptEngine())
            {
                engine.AddHostType("Console", typeof(Console));
     
                string script = @"
                    function add(a, b) {
                        return a + b;
                    }
                    Console.WriteLine('Résultat : ' + add(5, 7));";
     
                engine.Execute(script);
            }
     
            Console.ReadLine();
        }
    }
    Comme tu vas le remarquer, ce n'est disponible de base, il faut installer le package via Nuget Package Manager. Peut-être qu'il existe de meilleurs solutions, mais quoi qu'il arrive oui il faut au minimum un moteur / interpréteur JS.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut
    bjr et merci pour ta réponse, j'ai voulu installé un package mais chaque fois ça m'a apporté un problème après l'installation ou carrément l'installation n'a pas abouti peux tu me dire lequel tu utilises et sous quel environnement je suis sous .NET Framework 4.8 et application console.

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 964
    Par défaut
    Comme indiqué par PixelJuice, le NuGet se nomme "Microsoft.ClearScript".
    Il est actuellement disponible en version 7.5.0.
    Nom : ClearScript.png
Affichages : 22
Taille : 21,5 Ko

    Tu devras probablement résoudre un conflit de version sur System.Runtime.CompilerServices.Unsafe car la version apportée par ce NuGet est en conflit avec la version apportée par un composant dont il dépend.
    Il faudra normalement utiliser la version 6.0.0.0 de System.Runtime.CompilerServices.Unsafe

    Moi, la question que je me pose est de savoir ce que tu ne peux pas faire en C# pour être obligé de passer par du JS.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 899
    Par défaut
    Citation Envoyé par popo Voir le message

    Moi, la question que je me pose est de savoir ce que tu ne peux pas faire en C# pour être obligé de passer par du JS.
    Merci pour ta réponse et merci pour ta question car je n'arrive pas à "récuperer" la valeur de de l'url suite à une requete http(s), j'aurai besoin quand l'utilisateur va sur un site de récupérer cette valeur, pour explication, j'utilise SharpPCap pour le suivi des packets mais quand je veux connaitre le hostname en utilisant DNS, ça me ralentit SharpPCap et donc je voudrais trouver un moyen de récuperer la valeur de l'URL, je sais pas si j'ai été assez clair...si tu as des infos ou des questions n'hésite pas.

  6. #6
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Je ne connaissais pas ClearScript. Je suppose que V8 c'est le moteur JavaScript de Chromium, base du nouveau Edge. De mon côté j'ai déjà testé un peu Jint, qui a bien avancé mais auquel il manque encore quelques éléments de syntaxe (plus beaucoup, il est vrai).

Discussions similaires

  1. [C#]Lancer un script Javascript depuis
    Par Opo dans le forum ASP.NET
    Réponses: 1
    Dernier message: 07/11/2006, 16h08
  2. [PHP-JS] Faire un appel JavaScript depuis PHP
    Par davinout dans le forum Langage
    Réponses: 4
    Dernier message: 29/05/2006, 20h03
  3. Declenchement d'un javascript depuis une autre page
    Par mcrbe dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/03/2006, 11h30
  4. Faire apelle a une fonction javascript depuis un onclick=&am
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/12/2005, 21h41
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo