Dies ist jetzt tatsächlich möglich (und möglicherweise zu der Zeit, als diese Frage gestellt wurde). Erstellen Sie einfach eine LoadConfig.csx Datei mit folgendem:
#r "System.Configuration"
using System;
using System.IO;
using System.Linq;
var paths = new[] { Path.Combine(Environment.CurrentDirectory, "Web.config"), Path.Combine(Environment.CurrentDirectory, "App.config") };
var configPath = paths.FirstOrDefault(p => File.Exists(p));
if (configPath != null)
{
// Set new configuration path
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", configPath);
// Reset current configuration load state
var t = typeof(System.Configuration.ConfigurationManager);
var f = t.GetField("s_initState", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);
f.SetValue(null, 0);
}
Speichern Sie die Datei irgendwo werden Sie merken und zurück zum Projekt, das Sie in Visual Studio geladen werden soll. Klicken Sie mit der rechten Maustaste auf das Projekt und wählen Sie "C# Interactive vom Projekt zurücksetzen". Sobald das interaktive C# -Fenster beendet ist, rufen Sie an:
#load "C:\path\to\LoadConfig.csx"
HINWEIS: Sie müssen dies sofort nach dem Laden des Projekts aufrufen. Wenn vor dem Laden dieses Skripts Konfigurationssuchen durchgeführt werden, funktioniert dieses Skript nicht.
Jetzt sollte das C# Interactive-Fenster Zugriff auf Ihre Projekteinstellungen haben.
Nur neugierig, ob das für jemand anderen funktioniert? Scheint nicht für mich zu arbeiten. Dies ist eine Tragödie, da es alle Assemblys rendert, die Verbindungsketteninformationen aus einer Konfigurationsdatei als nicht testbar aus dem interaktiven C# -Fenster erhalten. Dies könnte ein so nützliches Werkzeug sein, und jetzt ist es für mich fast nutzlos. – esmoore68
Funktioniert nicht auch für mich. Ich verwende Visual Studio 2017 – Jalal