C#交互式窗口不会引用我的代码

时间:2017-09-13 13:21:30

标签: c# visual-studio-2017 roslyn

在Visual Studio 2017中,我尝试在c#Interactive Window中运行一些代码。 这适用于非常简单的情况(例如使用系统) 但是,当我尝试引用稍微更模糊的库时,它会失败

using Microsoft.AspNetCore.Cryptography.KeyDerivation;
  

(1,17):错误CS0234:类型或命名空间名称' AspNetCore'才不是   存在于名称空间' Microsoft' (你错过了一个集会吗?   引用?)

这是一个dot net core 2.0项目,有人建议我可以右键单击该项目并选择"使用Project"初始化交互,但是这个选项对我来说不会出现在项目或解决方案。

我需要知道如何为交互式窗口添加对代码库的引用。

3 个答案:

答案 0 :(得分:2)

您需要add a reference到您计划使用的任何“更加模糊”的库。

  

#r用于引用程序集。以下是一些例子:

     

#r“path / MyAssembly.dll”#r“MicrosoftLibrary”,例如#r   “System.Collections.Generic”注意:交互式窗口没有   目前支持#r'ing NuGet套餐。作为临时解决方案,   引用NuGet DLL。

答案 1 :(得分:2)

你可以写这个

#r "Microsoft.AspNetCore.Cryptography.KeyDerivation"

如果在GAC中找到VS,则会注册VS.如果您的磁盘上有DLL。传递路径而不是字符串,它将注册它。

如果您在项目中注册了引用,则可以右键单击,并且可以选择将c#interactive与当前项目一起使用。

答案 2 :(得分:2)

  1. 通过导航到“视图>其他Windows> C#Interactive”打开Interactive窗口

  2. 右键单击您的项目,然后选择“初始化与项目的交互”

enter image description here