Я развертываю сайт asp.net core 2.0 для IIS 10.
Я убедился, что мое приложение использует правильную конфигурацию для ISS в файле program.settings.
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-магазин-2.0.3.xml
Исходя из сообщения об ошибке, я предполагаю, что Microsoft.AspNetCore.Antiforgery не поставляется в комплекте при публикации, так как я не получаю эту ошибку при отладке.
Как я могу убедиться, что мое приложение может найти Microsoft.AspNetCore.Antiforgery при публикации в живой среде?
EDIT: это базовый основной веб-сайт .net. В настоящее время никаких изменений в стандартном проекте не произошло, кроме вышеуказанных изменений для развертывания с IIS.
Когда я запускаю проект из IIS вместо командной строки, я получаю сообщение об ошибке 502.5.