System.BadImageFormatException для Microsoft.AspNetCore.Hosting

Кажется, мне как-то удалось повредить установку.NET Core на моей машине. Я не могу запустить какое-либо основное приложение ASP.NET Core. Вместо этого возникает следующая ошибка:

Возникла исключительная ситуация System.BadImageFormatException

HResult=0x80131018

Сообщение = Не удалось загрузить файл или сборку 'Microsoft.AspNetCore.Hosting, версия =1.1.0.0, культура = нейтральная, PublicKeyToken=adb9793829ddae60'. Модуль должен был содержать манифест сборки.

Источник =<Cannot evaluate the exception source>

StackTrace: в CoreTest2017.Program.Main(String[] args) в C:\CoreTest2017\CoreTest2017\Program.cs: строка 23

Это происходит независимо от того, какую версию.NET Core я запускаю. Я еще не пробовал переустанавливать что-либо (у меня нет прав локального администратора на этой рабочей машине...), поэтому я хотел сначала проверить здесь, чтобы узнать, сталкивался ли кто-нибудь с этой проблемой, особенно в связи с ASP.NET Core.,

Для наглядности это стандартный шаблон для веб-приложения. Program.cs Содержание:

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Hosting;

namespace CoreTest2017
{
    public class Program
    {
        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .UseApplicationInsights()
                .Build();

            host.Run();
        }
    }
}

Здесь .csproj разметка (это для пустого веб-проекта, который терпит неудачу таким же образом):

<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Folder Include="wwwroot\" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.0.0" />
    <PackageReference Include="Microsoft.AspNetCore" Version="1.1.0" />
  </ItemGroup>

</Project>

Может кто-то указать мне верное направление?

1 ответ

Модуль должен был содержать манифест сборки.

Это может произойти, когда вы смешиваете биты x86/x64. Но поскольку речь идет о сборке Microsoft.AspNetCore.Hosting, я подозреваю, что проблема в том, что ваш кеш NuGet как-то поврежден. Попробуйте удалить "%USERPROFILE%.nuget\packages\Microsoft.AspNetCore.Hosting" и повторно запустить восстановление.

Если вы все еще сталкиваетесь с ошибкой, вам может потребоваться отладить хост, чтобы выяснить, какую сборку он пытается загрузить. Установите для переменной среды COREHOST_TRACE значение 1 и запустите приложение. Это даст подробную информацию о том, какие сборки пытается загрузить ваше приложение.

Другие вопросы по тегам