【问题标题】:NET CORE 5. How to fix "The located assembly's manifest definition does not match the assembly reference"?NET CORE 5. 如何修复“找到的程序集的清单定义与程序集引用不匹配”?
【发布时间】:2022-01-07 02:38:47
【问题描述】:

这是我的项目文件

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

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <RootNamespace>DockerDotNetWrapper</RootNamespace>
    <TargetFramework>net5.0</TargetFramework>
    <StartupObject>DockerDotNetWrapper.Program</StartupObject>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>AnyCPU</PlatformTarget>
    <Prefer32Bit>true</Prefer32Bit>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Docker.DotNet" Version="3.125.5" />
    <PackageReference Include="Docker.DotNet.BasicAuth" Version="3.125.3" />
  </ItemGroup>

  <ItemGroup>
    <Compile Update="My Project\Resources.Designer.vb">
      <DesignTime>True</DesignTime>
      <AutoGen>True</AutoGen>
      <DependentUpon>Resources.resx</DependentUpon>
    </Compile>
  </ItemGroup>

  <ItemGroup>
    <EmbeddedResource Update="My Project\Resources.resx">
      <CustomToolNamespace>My.Resources</CustomToolNamespace>
      <Generator>VbMyResourcesResXFileCodeGenerator</Generator>
      <LastGenOutput>Resources.Designer.vb</LastGenOutput>
    </EmbeddedResource>
  </ItemGroup>

</Project>

不幸的是,我收到消息“无法加载文件或程序集 'Docker.DotNet, Version=3.125.3.0, Culture=neutral, PublicKeyToken=null'。找到的程序集的清单定义与程序集引用不匹配。(0x80131040) "

看起来像这样定义的 DockerDotNetWrapper.dll.config 在 NET CORE 5 中不起作用。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Microsoft.VisualBasic.Core" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-10.0.6.0" newVersion="10.0.6.0" />
      </dependentAssembly>
    </assemblyBinding>

我在 \bin\Debug 目录中看到一些垃圾文件 - DockerDotNetWrapper.deps.json、DockerDotNetWrapper.runtimeconfig.dev.json、DockerDotNetWrapper.runtimeconfig.json、project.assets.json \obj 目录。但是如何在 Net core 5.0 中解决这个问题呢?

【问题讨论】:

  • 尝试删除“bin”和“obj”文件夹并重新编译
  • 谢谢。 @CristopherRosales,不幸的是,这么简单的食谱不起作用。

标签: c# .net-core runtime-error


【解决方案1】:

我的最终解决方案是从这个存储库 https://github.com/dotnet/Docker.DotNet 的源代码(而不是哑 nuget 包)简单地重建我的应用程序。这样,一切正常。

【讨论】:

  • 也许从 Nuget 包管理器降级版本也可以,但我很高兴你解决了它。
  • 不幸的是,没有。在决定直接使用源代码之前,我也尝试过这种方式。
猜你喜欢
  • 2021-07-17
  • 2011-08-20
  • 2016-09-21
  • 2018-10-13
  • 1970-01-01
相关资源
最近更新 更多