问题标签 [asp.net-core-mvc-2.0]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3422 浏览

asp.net-core-mvc - AspNetCore 2.0 MVC / 'model' 必须出现在起始行

_Create.cshtml(片段)

Microsoft.AspNetCore.Mvc.Razor.Compilation.CompilationFailedException:发生一个或多个编译失败:C:\Projects\Webs\MC\Areas\Admin\Views\Shared_ModalFooter.cshtml(1,3):错误 RZ9999:“模型”指令必须出现在行首。在 Microsoft.AspNetCore.Mvc.Razor.Internal.RazorViewCompiler.CompileAndEmit(String relativePath) 在 Microsoft.AspNetCore.Mvc.Razor.Internal.RazorViewCompiler.CreateCacheEntry(String normalizedPath)

_ModalFooter.cshtml(几乎完全是 _ModalHeader 中的示例)

这让我陷入了困境。Asp.net Core 2.0,在 1.1.2 中工作得很好,但这是为每个部分抛出的,并且是部分中的部分,这是为模态使用而设置的。错误 RZ9999 显然没有在任何地方记录。当然,为直接 html 取出部分不会引发错误,但可以想象,这是 1 行 3-4 行代码。我想我在某处从 Asp.net Core MVC 1.1 到 2.0 转换中遗漏了一些东西。 这也是部分中的部分。

注意:我在 *.csproj 中使用“Microsoft.AspNetCore.All”包,因为发布日 NuGet 没有 v2 的 EF 工具包。

0 投票
2 回答
6859 浏览

c# - InvalidOperationException:未配置 IAuthenticationSignInHandler 来处理方案的登录:MyCookieAuthenticationScheme

我正在尝试按照此处的说明将 Cookie 身份验证添加到我的网站。

到目前为止,我已经添加了以下内容:

在 Startup.cs 文件的 Configure 方法中调用 UseAuthentication 方法:

在 Startup.cs 文件的 ConfigureServices 方法中调用 AddAuthentication 和 AddCookie 方法:

然后在我的登录代码中

principle是一个ClaimsPrincipal

当我登录到我的网站并调用上面的行时,我收到错误:

InvalidOperationException:未配置 IAuthenticationSignInHandler 来处理方案的登录:MyCookieAuthenticationScheme

我错过了什么?

0 投票
1 回答
2615 浏览

c# - 在 aspnet core 2 中添加多个 cookie 方案

如何添加多个 cookie 方案aspnet core 2.0

我已按照此处Auth 2.0 迁移公告 和此处将身份验证和身份迁移到 ASP.NET Core 2.0 的说明进行操作, 但我无法添加多个方案。

例如

0 投票
1 回答
3799 浏览

asp.net-core-mvc-2.0 - ASP .NET Core 2 MVC 错误 NU1202 在 VS 2017 和 NET CLI 上创建项目

我已经安装了 VS2017 15.3.0 和 .NET Core 2.0 并在 VS 2017 上创建了一个默认的 Web MVC 应用程序,但出现以下错误:

错误 NU1202

包 System.Threading.Overlapped 4.0.1 与 netcoreapp2.0 (.NETCoreApp,Version=v2.0) 不兼容。包 System.Threading.Overlapped 4.0.1 支持:netstandard1.3 (.NETStandard,Version=v1.3)

错误 NU1202

软件包 System.IO.Compression 4.1.0 与 netcoreapp2.0 (.NETCoreApp,Version=v2.0) 不兼容。包 System.IO.Compression 4.1.0

支持:

  • monoandroid10 (MonoAndroid,版本=v1.0)

  • monotouch10 (MonoTouch,版本=v1.0)

  • net45 (.NETFramework,版本=v4.5)

  • netcore50 (.NETCore,版本=v5.0)

  • netstandard1.1 (.NETStandard,版本=v1.1)

  • netstandard1.3 (.NETStandard,版本=v1.3)

  • 便携-net45+win8+wpa81 (.NETPortable,Version=v0.0,Profile=Profile111)

  • win8 (Windows,版本=v8.0)

  • wpa81 (WindowsPhoneApp,版本=v8.1)

  • xamarinios10(Xamarin.iOS,版本=v1.0)

  • xamarinmac20 (Xamarin.Mac,版本=v2.0)

  • xamarintvos10(Xamarin.TVOS,版本=v1.0)

  • xamarinwatchos10(Xamarin.WatchOS,版本=v1.0)

使用带有以下命令的 NET CLI 会出现相同的错误:dotnet new mvc

我试过更新 nuget:Install-Package NuGet.CommandLine -Version 4.3.0

但它不起作用。

所以我安装了 dotnet core2,Visual Studio 2017 更新 15.3.0 和 NuGet 4.3.0

我在这里想念什么?

0 投票
1 回答
557 浏览

oauth - 我如何为 AspNet.Security.OpenIdConnect.Server 解决“对类型 'BaseControlContext” 声明的引用.....'

我面临着奇怪的问题。我正在阅读并创建OpenID Connect server with ASOS这篇文章ASOS - AspNet.Security.OpenIdConnect.Server

我只是创建了新的示例解决方案并添加AuthorizationProvider了 OpenIdConnectServerProvider 的新子类并覆盖了虚拟方法i.e. ExtractAuthorizationRequest

授权提供者.cs

问题:一旦我将Microsoft.AspNetCore.Identity (2.0.0)NuGet 包添加到我的项目中,context.Reject就开始给出以下错误

“对类型 'BaseControlContext” 的引用声称它是在 Microsoft.AspNetCore.Authentication 中定义的,但找不到。

但是一旦我删除Microsoft.AspNetCore.IdentityNuGet 依赖项,错误就会消失,一切看起来都很好。

笔记:

  1. 我正在使用 VS 2017。
  2. 我正在使用 dotnetcore 2.0 SDK。
  3. 我使用 .Net Core 2.0 创建了解决方案。
0 投票
0 回答
1401 浏览

asp.net-core - asp.net core 2.0 web api 和 windows 身份验证

创建使用 Windows 身份验证的简单 asp.net core 2.0 web api 应用程序(仅限 RESTful 服务)。在我的控制器中,我定义了一个简单的测试方法,它只返回用户名(json 格式)。当我使用 fiddler 之类的 RESTful 客户端并调用此方法时,例如http://localhost/webapi/testservice,我收到 401 Unauthorized 错误。但是,当我将该 url 放入 Web 浏览器时,它会成功调用并返回用户。

我的问题是,为什么调用服务可以在浏览器上工作,而不是在像 Fiddler 这样的 REST 客户端?调用服务时是否需要在客户端中添加额外的标头?

0 投票
1 回答
482 浏览

aurelia - 使用 aspnetcore 2.0 重新加载 Aurelia 热模块

我想让 HMR 工作。

我正在使用 VS2017。我创建了一个 aspnetcore 2.0 项目,然后使用现在支持 WebPack 3 的 0.31.1 使用 Aurelia cli 添加了 aurelia 框架。我按照说明添加 SpaServices 并修改 start.cs。

然后我使用 运行项目dotnet run,打开 IE 并浏览以http://localhost:5000查看来自 Aurelia 的预期“Hello World”。

现在我想看看 HMR 的实际应用。所以我编辑 app.ts 以更改Hello WorldHello HMR 然后保存文件。我希望在 IE 中看到更新的更改。但它永远不会自动重新加载。

但是,如果我单击浏览器的刷新按钮,则更改会显示在 IE 中。

为了让 HMR 正常工作,我还应该在这里做一些其他的事情吗?

当我保存更改时,我看到 app.{guid}.bundle.js 在磁盘上更新(使用新的 guid 创建了一个新文件。这么多工作。但是如何让浏览器对该更改做出反应和刷新?

0 投票
2 回答
129 浏览

nuget - 跨平台主路径还是条件平台特定路径?

所以我在这里要解决的问题是,既然 Visual Studio 是跨平台的,我必须重新考虑一些构建策略。目前,我让我的 nuget 库项目在构建后将包发布到本地提要。这允许我在使用这些包的其他项目中进行开发,而无需发布到远程 nuget 服务器。目前,我通过将以下目标添加到每个项目的 csproj 来促进这一点:

所以这会将每个包推送到 c:\nuget。这在 Windows 上运行良好,但例如,当个人在 Ubuntu 上使用 VSCode 工作时,C:\就不是问题了。

所以我的问题是:例如,是否有跨平台的方式来定位“家”?我考虑使用$(Platform)作为目标中 Exec 行的条件,以便我可以使用条件发出不同的命令,但我似乎无法找到我可以从$(Platform). 欢迎任何其他想法。

0 投票
1 回答
179 浏览

dependency-injection - 为什么在 IISExpress 中运行时不需要显式注册 IHttpContextAccessor?

本周我将我的 .net core 1.0 应用程序 API 迁移到 .net core 2.0 应用程序。尘埃落定后,它在我的本地机器上运行良好,但在我们的开发环境中崩溃了。经过一些相当大的故障排除后,我偶然发现IHttpContextAccessor如果我们想使用它,我们现在必须明确注册。除了我在本地在 IISExpress 下测试和运行时这不是问题。我现在也在我的本地环境中设置了 IIS Proper,并在那里遇到了同样的崩溃。

我仔细查看了我的 Startup.cs 代码,虽然我们确实有几个依赖于环境变量的注册案例(Dev vs QA),但我相信在一个环境中没有使用像 Identity 这样的组件不会影响其他。事实上,我仍然必须回到我们内部的几个共享组件,并在需要的地方显式地为该服务添加注册。

什么可能构成两者之间的差异(IIS 与 IISExpress),从而导致此服务的隐式注册?

0 投票
1 回答
56 浏览

c# - Aspnet Core 中的 DLL 问题

将 mvc5 应用程序转换为 aspnet 核心时出现 System.Web.Http 错误。我在现有项目中使用类库,也没有在类库中直接使用这个 .dll。

错误 - 无法加载文件或程序集 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 或其依赖项之一。该系统找不到指定的文件。