首页 > 编程语言 >解决 System.Runtime.CompilerServices.Unsafe 程序集版本不匹配问题

解决 System.Runtime.CompilerServices.Unsafe 程序集版本不匹配问题

时间:2024-11-01 23:18:51浏览次数:7  
标签:CompilerServices 0.0 程序 Unsafe System 版本 Runtime

在这里插入图片描述

你是否在.NET 文件上传中遇到过令人头疼的引用错误?今天我们就来深入探讨如何解决 System.Runtime.CompilerServices.Unsafe 引用错误

1. 错误现象
  • 在文件上传操作中,当处理特定文件格式(如.xlsx)时,代码workbook = new XSSFWorkbook (myfile.InputStream);出现异常。
  • 异常信息为NPOI.POIXMLException,其内部异常是FileLoadException,提示未能加载文件或程序集 “System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture= neutral, PublicKeyToken= b03f5f7f11d50a3a” 或它的某一个依赖项,并且程序集清单定义与程序集引用不匹配(异常来自 HRESULT:0x80131040)。

在这里插入图片描述

2. 解决方法
  • 对于开发.NET 应用且遇到此类程序集版本相关问题,可以在应用程序的配置文件(通常是app.config文件;如果是 Web 应用,则是web.config文件)中添加绑定重定向。

Web.config 配置文件中查看是否有以下代码,没有手动添上

用于指定程序集的版本绑定重定向。这段配置将System.Runtime.CompilerServices.Unsafe程序集的旧版本(从0.0.0.0到6.0.0.0)重定向到新版本6.0.0.0。这种做法可以确保应用程序在运行时加载正确的程序集版本,从而避免因不同版本之间的不兼容性而导致的问题。

	<runtime>
		<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> //定义了程序集绑定设置
			<dependentAssembly> //指定了一个依赖的程序集
				//元素标识了特定的程序集,这里是 “System.Runtime.CompilerServices.Unsafe”,通过名称、公钥标记、区域设置等信息来唯一确定
				<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
				//元素用于重定向程序集的版本。这里将旧版本范围从 “0.0.0.0” 到 “6.0.0.0” 的引用重定向到新版本 “6.0.0.0”
				<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
			</dependentAssembly>
		</assemblyBinding>
	</runtime>

标签:CompilerServices,0.0,程序,Unsafe,System,版本,Runtime
From: https://blog.csdn.net/2302_82029124/article/details/143339268

相关文章

  • systemctl restart NetworkManager 重启后,文件/etc/resolv.conf修改失败
    如果你在重启NetworkManager之后发现无法修改/etc/resolv.conf文件,这是因为NetworkManager会自动管理这个文件为了解决这个问题,你可以采取以下两种方法之一:方法一:禁用NetworkManager服务使用以下命令停止NetworkManager服务:sudosystemctlstopNetworkMana......
  • 监听系统属性SystemProperties值变化
    基于Android-S一、实现逻辑相关文件:frameworks/native/libs/binder/Binder.cpp/system/core/libutils/misc.cpp/android/frameworks/base/core/java/android/os/SystemProperties.java/android/frameworks/base/core/jni/android_os_SystemProperties.cpp/android/frameworks/b......
  • 万星开源项目:System Design Primer - 学习系统设计的必备指南
    GitHub链接:https://github.com/donnemartin/system-design-primer什么是SystemDesignPrimer?SystemDesignPrimer是一个专注于系统设计的开源项目,由DonneMartin创建并维护。它旨在帮助开发者掌握系统设计的核心概念,适用于那些想在面试中通过系统设计考核,或者希望提升自......
  • TOYOTA SYSTEMS Programming Contest 2024(AtCoder Beginner Contest 377) 补题记录(A-E
    AtCoderBeginnerContest377A-RearrangingABC字符串有ABC三个字母即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglongsignedmain(){ strings; cin>>s; map<char,int>mp; for(autot:s){ mp[t]=1; } if(mp[......
  • C语言用GNU源码编译建构系统工具(GNU BUILD SYSTEM)编译创建动态库
    C语言用GNU源码编译建构系统工具(GNUBUILDSYSTEM)编译创建动态库首先看一下这篇博文:C语言数据结构之顺序结构(Sequence)此次目的是将sequence.c改造一下,创建为一个动态链接库同时打包一个可发布的源码包,包括源码、头文件、测试文件!创建工作目录工作目录libmg(mg即muggles,一......
  • MMME4056 Integrated System sAnalysis Simulink
    ESSENTIALINFORMATIONMODULECODEMODULETITLESSESSMENTTYPEMMME4056IntegratedSystemsAnalysisSimulinkandReportCOURSEWORKTITLEWEIGHT(INDICATIVEEFFORT)MMME4056,ISA2024,COURSEWORK30%(Approx.10-15hrs)FEEDBACKDETAILSFeedbackwillbeprovi......
  • 2024博鳌新型电力系统国际论坛——电力系统与新能源技术创新论坛 2024 Boao New Pow
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus大会时间:2024年12月8-12月10日大会地点:中国·海南博鳌三、大会介绍2023年3月22日至23日,2023......
  • 第六届国际科技创新学术交流大会暨新能源科学与电力工程国际学术会议(NESEE 2024) 2024
    @目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus会议时间:2024年12月6-8日会议地点:中国-广州三、大会介绍新能源科学与电力工程国际学术会议(N......
  • System.Data.SqlClient老版本引发内存溢出的问题
    有一个朋友和我说他负责的项目有内存溢出的情况,内存一直居高不下达到了8G。生产环境碰到内存溢出的情况我还没有碰到过,这次有机会实践一下,准备试试,拿到了dump文件,压缩包300M,解压出来3G。该事件是发生在2023年,写这篇文件的是已经是2024年了,为什么会间隔这么久才写这篇文章,因为当时......
  • CSCI235 – Database Systems
    CSCI235 – Database Systems2024 S4Implementation Task 2Dueon 7 November 2024ScopeTheImplementationofTask2 is relatedtothecontents oftopic on Indexing.This Implementation is due byThursday, 7 November 2024, 9:00 pm Singa......