我正在将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<Startup>()
.Build();
}
在我的startup.cs文件中:
public void ConfigureServices(IServiceCollection services)
{
services.Configure<IISOptions>(options =>
{
});
services.AddMvc();
}
然而,当我从命令行运行dotnet website.dll时,我收到命令行窗口中显示的以下错误消息:
应用程序依赖项清单中指定的程序集 (website.deps.json)未找到: 包:'Microsoft.AspNetCore.Antiforgery',版本:'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错误消息。
答案 0 :(得分:17)
我能够通过将服务器上的.net核心运行时更新到v2.0.3来解决此问题。
如果
,则会出现此问题可以通过在服务器上安装运行时的v2.0.3来解决此问题。您可以从Microsoft网站https://www.microsoft.com/net/download/windows
下载运行时答案 1 :(得分:10)
如果您实际使用此库,请确保* .csproj文件具有相应的显式引用:
<PackageReference Include="Microsoft.AspNetCore.Antiforgery" Version="..." />
然后,使用 PublishWithAspNetCoreTargetManifest 属性来解决上述问题,并显示不匹配的清单。 查看以下主题以了解有关部署时可能出现的问题的更多信息:
An assembly specified in the application dependencies manifest (RhWeb.deps.json) was not found
答案 2 :(得分:6)
我有这个问题 - 简单的解决方法,实际安装NuGet包(我没有使用它)。
Microsoft.AspNetCore.Antiforgery
已发布,已部署 - 修复了此问题。
在另一个案例中,当我发布该项目时,很多dll都没有被放置在发布文件夹中 - 包括Antiforgery。以下似乎强制发布添加所有必需的dll。
编辑projectname.json文件以确保PropertyGroup
包含PublishWithAspNetCoreTargetManifest = false
:
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
<PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>
</PropertyGroup>
有兴趣知道为什么上述工作?!
答案 3 :(得分:3)
如果调用Antiforgery但未安装Antiforgery,也会出现此问题。
可以通过Nuget包管理器安装Microsoft.AspNetCore.Antiforgery来修复。
答案 4 :(得分:1)
我使用此解决方案在我的内部窗口服务器上解决了这个问题
*转到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
在服务器上安装它,错误已经解决了。希望这对任何人都有帮助。
答案 5 :(得分:1)
将Microsoft.AspNetCore.All
从v2.0.7更新到v2.0.8(当时最新),然后发布到运行.NET Core Runtime v2.0.7(当时最新)的服务器后出现此错误。
将Microsoft.AspNetCore.All
降级为v2.0.7,重新发布,一切正常。
答案 6 :(得分:1)
如果根据链接的屏幕截图将应用程序发布为独立的ASP.NET Core 2.2应用程序(我没有足够的内嵌图像代表),它将解决此问题。
自我包含:
可以在编辑发布设置时进行设置。