首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >System.BadImageFormatException for Microsoft.AspNetCore.Hosting

System.BadImageFormatException for Microsoft.AspNetCore.Hosting
EN

Stack Overflow用户
提问于 2017-02-23 12:53:37
回答 1查看 6.2K关注 0票数 2

似乎我已经设法破坏了我的机器的.NET核心安装。我无法运行任何基本的ASP.NET核心应用程序。相反,会发生以下错误:

System.BadImageFormatException发生 HResult=0x80131018 Message=Could不加载文件或程序集'Microsoft.AspNetCore.Hosting,Version=1.1.0.0,Culture=neutral,PublicKeyToken=adb9793829ddae60‘。预计该模块将包含程序集清单。 Source=<Cannot evaluate the exception source> StackTrace: at CoreTest2017.Program.Main(String[] args),C:\CoreTest2017\CoreTest2017\Program.cs:line 23

无论我运行哪个.NET核心版本,都会发生这种情况。我还没有尝试重新安装任何东西(我在这台工作机器上没有本地管理权限.)所以我想在这里首先检查一下,看看是否有人遇到过这个问题,特别是因为它涉及到ASP.NET核心。

为了清晰起见,这是web应用程序的标准模板。Program.cs的内容如下:

代码语言:javascript
复制
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标记(这是一个空web项目的标记,它以同样的方式失败):

代码语言:javascript
复制
<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>

谁能给我指明正确的方向?

EN

回答 1

Stack Overflow用户

发布于 2017-02-23 16:09:08

预计该模块将包含程序集清单。

当您混合x86/x64位时,可能会发生这种情况。但是,由于所讨论的程序集是Microsoft.AspNetCore.Hosting,我怀疑问题在于您的NuGet缓存以某种方式损坏。尝试删除"%USERPROFILE%.nuget\packages\Microsoft.AspNetCore.Hosting“并重新运行还原。

如果仍然遇到错误,则可能需要调试主机以确定它试图加载的程序集。将环境变量COREHOST_TRACE设置为1并运行应用程序。这将产生详细的信息,您的应用程序正试图加载的程序集。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42416327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档