7
votes

Accès aux fichiers .config à Roslyn Reply

Utilisation de ROSLYN JUIN 2012 CTP :

Y a-t-il un moyen de fournir le ROSLYN C # interactif / repl avec un fichier .config pour le code à explorer? Un exemple de scénario simple est le code qui dépend d'une chaîne de connexion qu'elle obtiendrait généralement à partir de l'app.config / web.config.


0 commentaires

3 Réponses :


4
votes

Il n'y a pas de moyen de le faire maintenant, bien que ce soit quelque chose que nous pensons pour l'avenir.

Entre-temps, pourriez-vous facturer votre code pour prendre la chaîne de connexion en tant que paramètre et simplement le transmettre à la méthode dans la fenêtre interactive?


2 commentaires

Merci Kevin, c'est ce que j'ai fini par faire. J'espère que .Config Fonctionnalité en fait une version future de la RÉPEL lorsque je rencontre un peu de code équitable qui a des dépendances sur un fichier de configuration. BTW - Je suis un grand fan de ce que tu fais des gars avec Roslyn, ça bascule!


Une chose que j'aimerais ajouter: avoir quelque chose comme une langue de script C # peut remplacer les choses comme des fichiers .Config et peut être appliqué à une injection de dépendance en général. Imaginez que le fichier de script soit déployé avec le binaire et le démarrage, il peut exécuter le script et charger tout ce qu'il revient dans un configurationManager ou quoi que ce soit d'autre. De même que l'injection de dépendance fonctionnerait de la même manière, invoquez simplement le script pour résoudre ce que le constructeur / propriétés doit être appelé pour instancier un objet particulier. Donc, fondamentalement, + 1M votes pour avoir .config à Roslyn (c'est un petit pas dans la bonne direction).



3
votes

Ceci est en fait possible maintenant (et peut avoir été au moment de la question de cette question). Créez simplement un fichier LOADCONFIG.CSX avec les éléments suivants:

#load "C:\path\to\LoadConfig.csx"


2 commentaires

Juste curieux si cela fonctionne pour quelqu'un d'autre? Ne semble pas fonctionner pour moi. Il s'agit d'une tragédie, car elle rend toutes les assemblées qui obtiennent, disent, des informations de chaîne de connexion à partir d'un fichier de configuration aussi abandonnée de la fenêtre interactive C #. Cela pourrait constituer un outil aussi utile et dès maintenant, il est rendu presque inutile pour moi.


Ne fonctionne pas pour moi aussi. J'utilise Visual Studio 2017



1
votes

La réponse déjà acceptée n'a pas fonctionné pour moi; Basé sur les commentaires à la réponse acceptée, cela n'a pas fonctionné pour 2 autres. En dessous de la solution travaillée pour moi.

  1. Mettez à jour le fichier de configuration de C # Interactive (REMPL) situé à

    appdomain.currentdomaine.setupinformation.configurationFile

  2. réinitialiser repl.


0 commentaires