小编Luc*_*tar的帖子

新的.Net Core 2站点不会重新配置Configuration.GetConnectionString

我正在从一个空的ASP.NET Core 2模板创建一个新的网站,并按照Microsoft Entity Framework Tutorial帮助我进行设置.有一点,你有添加代码:

services.AddDbContext<SchoolContext>(options =>
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
Run Code Online (Sandbox Code Playgroud)

ConfigureServices()方法Startup.cs.我这样做,但在我的项目的Visual Studio给我那个小红线下ConfigurationConfiguraiton.GetConnectionString

我以为我错过了一个声using明甚至是一个包,但是Visual Studio 2017快速操作并没有识别出using要使用的语句,而且我确实安装了Microsoft.AspNetCore.All包,所以我应该拥有所有包.

我错过了什么使得Configuration不被认可?

编辑:错误是:

"配置"名称在当前上下文中不存在

public void ConfigureServices(IServiceCollection services)
{
     services.AddDbContext<CollectionContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
     services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core asp.net-core asp.net-core-2.0 asp.net-core-3.0

9
推荐指数
1
解决办法
5935
查看次数

为什么以及什么时候会立即忽略变量声明,并在后续查询中覆盖函数声明?

在遵循Kyle Simpson 在Pluralsight上的Advanced JavaScript 时,我遇到了这段代码,它应该证明函数声明变量声明之前得到(预)编译:

foo();
var foo = 2;
function foo() { console.log("bar"); }
function foo() { console.log("foo"); }
Run Code Online (Sandbox Code Playgroud)

(请注意,上面的代码要么输入一行有空格而不是换行符,要么使用SHIFT+ENTER防止在输入整个代码之前立即执行。)在Node中输入上面整个代码的立即结果或 (Chrome) 控制台(并按 Enter 键)是:

  foo                                                                                                   
< undefined  
Run Code Online (Sandbox Code Playgroud)

解释 Kyle 的解释,第一个function foo声明被第二个覆盖,因此foo输出到控制台,并且由于foo已经声明为函数,var foo因此(预)编译器忽略该声明。

眼前的结果支持了理论忽略,然而,随后的调查foofoo()展示一个不同的故事:

> foo                                                                                                   
2                                                                                                       
> foo()                                                                                                 
Uncaught TypeError: foo is not a function                                                               
> 
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么以及何时被忽略的声明var foo = 2;生效,当立即执行产生时:

  foo
< undefined  
Run Code Online (Sandbox Code Playgroud)

我的理解是 JavaScript 引擎(预)编译解析步骤应该注意两个函数的声明,然后是变量的声明,按照这个顺序,然后,在执行步骤,foo(); …

javascript

5
推荐指数
1
解决办法
151
查看次数