jazza1000
jazza1000

Reputation: 4247

C# interactive window won't reference my code

In Visual Studio 2017 I am trying to run some code in the c# Interactive Window. This works for very simple cases (e.g. using System) However, when I try and reference slightly more obscure libraries it fails

using Microsoft.AspNetCore.Cryptography.KeyDerivation;

(1,17): error CS0234: The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)

This is a dot net core 2.0 project, and it has been suggested that I can right click on the project and select "Initialize Interactive with Project", however this option does not appear for me on either the project or solution.

I need to know how to add references to code libraries for the interactive window.

Upvotes: 11

Views: 7209

Answers (3)

techExplorer
techExplorer

Reputation: 908

  1. Open Interactive window by navigating to "Views > Other Windows > C# Interactive"

  2. Right click your project and select "Initialize Interactive with Project"

enter image description here

Upvotes: 12

Anirudha Gupta
Anirudha Gupta

Reputation: 9279

You can write this

#r "Microsoft.AspNetCore.Cryptography.KeyDerivation"

VS will be registered it, if it will found it in GAC. If you have DLL somewhere on your disk. pass the path instead of string and it will registered it.

If you have the reference registered in your project you can just right click and there is a option to use c# interactive with current project.

Upvotes: 4

mjwills
mjwills

Reputation: 23820

You need to add a reference to any 'more obscure' libraries that you plan to use.

#r is used to reference assemblies. Below are some examples:

#r "path/MyAssembly.dll" #r "MicrosoftLibrary", e.g., #r "System.Collections.Generic" Note: The Interactive Window doesn't currently support #r'ing NuGet packages. As a temporary workaround, reference the NuGet DLL.

Upvotes: 11

Related Questions