¿Puede la ventana interactiva de C# interactuar con mi código?


He instalado Roslyn. Ahora, si sé dónde buscar en Visual Studio, puedo abrir la 'ventana interactiva de C #' y ejecutar código:

> 5 + 3
8

Eso es lindo. Ahora, ¿cómo puedo interactuar mi código-mis clases? Supongamos que tengo un proyecto abierto.

> new Cog()
(1,5): error CS0246: The type or namespace name 'Cog' could not be found (are you missing a using directive or an assembly reference?)
Author: Colonel Panic, 2012-06-21

5 answers

Al usar Visual Studio 2015:

Puede abrir la ventana interactiva navegando a Vistas > Otras ventanas > C # Interactive ,

Luego haga clic derecho en su proyecto y ejecute Inicializar interactivo con Proyecto desde el menú contextual.


Para versiones anteriores:

Para usar la ventana Interactiva de C# con su código, asegúrese de compilar primero su código, luego agregue una referencia al ensamblado resultante con el comando #r como entonces:

Símbolo del sistema C#


También puedes usar la ventana inmediata para interactuar con tu código, así:

Ventana Inmediata

 128
Author: sloth,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-25 15:17:59

Puedes usar clases de tu propio proyecto.
Simplemente haga clic derecho en su solución y seleccione "Restablecer Interactivo desde el proyecto".

Si necesita más información, aquí está la fuente:
Usando la ventana interactiva de C# que viene con Roslyn-Parte 2

 66
Author: Botz3000,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-21 10:04:15

Solo una actualización de la respuesta @Botz3000.

El comando que desea buscar ahora se llama "Initialize Interactive with Project"

introduzca la descripción de la imagen aquí

También vale la pena señalar que no pude encontrar este comando si mi ventana interactiva de C# no era visible.

 31
Author: WizardHammer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-26 19:58:52

No olvide cambiar nombre de clase rango, a nombre de clase pública.
:)

 1
Author: ndukan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-15 19:33:24

Totalmente de acuerdo "Initializa Interactivo con el Proyecto" es genial.

Mi enfoque es insertar clases en una biblioteca y usar / / css_reference en el script C # o # r en la ventana interactiva de C#

Por ejemplo:

#r "D:\\dev\\DbHMonData\\LoadH2Stats\\bin\\Debug\\DbHMonStats.dll"
using DbHMonStats;
 1
Author: beloblotskiy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-31 01:52:15