Reputation: 4247
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
Reputation: 908
Open Interactive window by navigating to "Views > Other Windows > C# Interactive"
Right click your project and select "Initialize Interactive with Project"
Upvotes: 12
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
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