找不到Microsoft.AspNetCore.Antiforgery
我正在将IIS.net核心2.0网站部署到IIS 10。
我确保我的应用程序在program.settings文件中使用了正确的ISS配置。
public class Program { public static void Main(string[] args) { BuildWebHost(args).Run(); } public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args) .UseKestrel() .UseContentRoot(Directory.GetCurrentDirectory()) .UseIISIntegration() .UseStartup() .Build(); }
在我的startup.cs文件中:
public void ConfigureServices(IServiceCollection services) { services.Configure(options => { }); services.AddMvc(); }
然而,当我从命令行运行dotnet website.dll时,我收到命令行窗口中显示的以下错误消息:
未找到应用程序依赖项清单(website.deps.json)中指定的程序集:package:’Microsoft.AspNetCore.Antiforgery’,version:’2.0.1’path:’lib / netstandard2.0 / Microsoft.AspNetCore.Antiforgery .dll’当使用以下目标清单文件发布应用程序时,此程序集应位于本地运行时存储中:aspnetcore-store-2.0.3.xml
基于错误消息,我猜测Microsoft.AspNetCore.Antiforgery在我发布时没有捆绑,因为我在调试时没有收到此错误。
如何确保我的应用程序在发布到实时环境时能够找到Microsoft.AspNetCore.Antiforgery?
编辑:这是一个基本的.net核心网站。 除了使用IIS进行部署的上述更改之外,此时未对标准项目进行任何更改。
当我从IIS而不是命令行运行项目时,我收到502.5错误消息。
我能够通过将服务器上的.net核心运行时更新到v2.0.3来解决此问题。
如果出现此问题
- 您有一个运行.net核心运行时的v2.0.0的现有服务器。
- 您创建了一个针对SDK v2.0.3的应用
- 您将v2.0.3应用程序发布到运行v2.0.0的服务器
可以通过在服务器上安装运行时的v2.0.3来解决此问题。 您可以从Microsoft网站https://www.microsoft.com/net/download/windows下载运行时
如果您实际使用此库,请确保* .csproj文件具有相应的显式引用:
然后,使用PublishWithAspNetCoreTargetManifest属性来解决上述问题,使用不匹配的清单。 查看以下主题以了解有关部署时可能出现的问题的更多信息:
未找到应用程序依赖项清单(RhWeb.deps.json)中指定的程序集
已发布的应用程序缺少程序集(缺少运行时存储关联…)[2.0.0-preview2-005905]
HTTP错误502.5 – Microsoft.AspNetCore.Antiforgery.dll
我有这个问题 – 简单的解决方法,实际安装NuGet包(我没有使用它)。
Microsoft.AspNetCore.Antiforgery
已发布,已部署 – 已解决此问题。
在另一个案例中,当我发布项目时,许多dll没有放在发布文件夹中 – 包括Antiforgery。 以下似乎强制发布添加所有必需的dll。
编辑projectname.json文件以确保PropertyGroup
包含PublishWithAspNetCoreTargetManifest = false
:
netcoreapp2.0 false
有兴趣知道上面有什么用吗?!
如果调用Antiforgery但未安装Antiforgery,也会出现此问题。
可以通过Nuget包管理器安装Microsoft.AspNetCore.Antiforgery来修复。
我用这个解决方案在我的内部windowsserver上解决了这个问题
*转到netcore https://github.com/dotnet/core/tree/master/release-notes
*转到核心运行时2的最新版本。?
*在我的情况下下载DotNetCore.2.0.6-WindowsHosting.exe
https://github.com/dotnet/core/blob/master/release-notes/download-archives/2.0.6-download.md#net-core-runtime-only-installation
在服务器上安装它,错误已经解决了。 希望这有助于任何人。
将Microsoft.AspNetCore.All
从v2.0.7更新到v2.0.8(当时最新),然后发布到运行.NET Core Runtime v2.0.7(当时最新)的服务器后出现此错误。
降级Microsoft.AspNetCore.All
降低到v2.0.7,重新发布,一切正常。
- 在VS2017中将依赖程序集包含在NuGet包中
- 忽略错误的证书 – .NET CORE
- 通过命令行构建.NET Core应用程序,以便它可以在未安装.NET Core的计算机上运行
- 在单独的项目Asp.net Core MVC中进行本地化
- 如何在net-core 2.0中手动解析JSON字符串
- 如何在Visual Studio 2017中增加运行.NET Core 1.x / 2.x测试的堆大小?
- 在部署.net核心应用程序时,HTTP错误500.19,错误代码0x8007000d visual studio 2017
- 我应该如何将一个DbContext实例注入IHostedService?
- .NET Core Console应用程序中的重复任务