我将在一个 .NET Framework 项目升级到 dotnet 6 时发现构建不通过,因为原先的代码使用到了 EnumeratorToEnumVariantMarshaler 类型,在 dotnet 6 里面找不到。本文将告诉大家如何修复此问题

在 .NET Framework 定义的 EnumeratorToEnumVariantMarshaler 类型是在 dotnet core 里缺失的

代替方法是使用 MarshalType 属性写字符串,如以下代码

        [MethodImpl(MethodImplOptions.InternalCall)]
[DispId(1)]
[TypeLibFunc(1)]
[return: MarshalAs(UnmanagedType.CustomMarshaler, MarshalType = "System.Runtime.InteropServices.CustomMarshalers.EnumeratorToEnumVariantMarshaler")]
IEnumerator GetEnumerator();

参考文档

CustomMarshalers - EnumeratorToEnumVariantMarshaler · Issue #47243 · dotnet/runtime

dotnet 6 修复找不到 EnumeratorToEnumVariantMarshaler 问题的更多相关文章

  1. dotnet 修复找不到 System.ServiceProcess 定义

    本文告诉大家如果复制网上一段代码发现 System.ServiceProcess 提示找不到方法或定义,需要手动添加引用 例如下面一段代码 using System.ServiceProcess; p ...

  2. ubuntu修复找不到sudo命令

    1.首先,您需要安装该sudo命令.你可以使用 apt 包管理器来做到这一点.您需要以有权安装软件包的用户身份运行此命令,例如root: apt-get install sudo 2.下一步是为您自己 ...

  3. 2019-10-18-dotnet-修复找不到-System.ServiceProcess-定义

    title author date CreateTime categories dotnet 修复找不到 System.ServiceProcess 定义 lindexi 2019-10-18 21: ...

  4. Linux系统(ubuntu)部署Asp.Net Core网站

    一.前言 亲自动手尝试部署.Net Core在Linux,看了不少文章,感觉是很简单,但是做下去也会有很多问题,今天就写个文章记录下来. 二.环境安装 虚拟机(VMware),在网上找就行. 地址:h ...

  5. Visual Studio 2019更新到16.2.3

    Visual Studio 2019更新到16.2.3   此次更新,包括以下内容: (1)修复找不到Android SDK的bug. (2)修复安装结束后,无法启动的bug. (3)修复关闭VS时, ...

  6. Macbook(M1版)的用户看过来,.net 6 Preview 6支持Apple Silicon for macOS

    本文由葡萄城技术团队翻译 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 我们很高兴发布.NET6预览的第6版,本次预览是倒数第二次预览了.在本次预览发布之 ...

  7. .NET 2.0 参考源码索引

    http://www.projky.com/dotnet/2.0/Microsoft/CSharp/csharpcodeprovider.cs.htmlhttp://www.projky.com/do ...

  8. windows下vscode修复c++找不到头文件

    因为原博客太长将部分内容分开 vscode找不到头文件的问题是由于windows下vscode默认的编译器是微软的MSVC(vs使用的编译器)的头文件路径 如果你没有安装vs肯定会因为找不到头文件而报 ...

  9. dotnet 控制台读写 Sqlite 提示 no such table 找不到文件

    在使用 dotnet 读写 Sqlite 可以通过 EF Core 的方法,但是在 EF Core 创建的数据库可能和读写的数据库不是相同的文件 在我运行代码的时候发现在通过迁移创建数据库,创建的文件 ...

  10. [问题记录.dotnet]取网卡信息报错"找不到"-WMI - Not found

    异常: System.Management.ManagementException: 找不到     在 System.Management.ManagementException.ThrowWith ...

随机推荐

  1. 记录--使用率比较低的10个Web API

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 avaScript中有些API可能使用率比较低,下面我们逐一介绍它们的用法和使用场景. 至于标题,主要是想让你进来看看,兄弟们别打我! B ...

  2. 开源一个教学型分库分表示例项目 shardingsphere-jdbc-demo

    在笔者心中,消息队列,缓存,分库分表是高并发解决方案三剑客. 分库分表之所以被广泛使用,因为工程相对简单,但分库分表并不仅仅是分片,还是需要考虑如何扩缩容(全量同步.增量同步.数据校验等). 因此笔者 ...

  3. DNS劫持怎么预防?

    DNS劫持,也称为域名劫持,是一种网络攻击手段,攻击者通过拦截域名解析的请求,将用户重定向到恶意站点,以达到获取用户信息或谋取非法利益的目的.DNS劫持可以分为以下几种基本类型: 1.路由器DNS劫持 ...

  4. KDE算法解析

    核密度估计(Kernel Density Estimation, KDE)算法通过样本估计这些样本所属的概率密度函数,是non-parametric方法,也就是在进行估计时无需假设分布的具体形式.本文 ...

  5. verilog之简单时钟信号的编写

    verilog之简单时钟信号的编写 1.数字时钟信号 在数字电路中,时钟信号是重要的一类信号,一般作为激励源驱动时序电路.掌握时钟信号的编写,对于时序电路的仿真具有重要意义.所有的时序电路都需要设置时 ...

  6. KingbaseES V8R6 中syssql_tmp目录说明

    前言 不久前有前端人员咨询过一个问题,为什么syssql_tmp目录下会产生如此多的大文件. 针对这个目录的解释是:临时文件(用于排序超出内存容量的数据等操作)是在$KINGBASE_DATA/bas ...

  7. 动态数组(Array)

    Array 存储具有一对一逻辑关系数据的存储顺序结构. 数组最大的优点:快速查询,最好应用于索引有语义的情况. 插入元素 template<typename T> bool Array&l ...

  8. ET介绍——C#更好的协程

    更好的协程 上文讲了一串回调就是协程,显然这样写代码,增加逻辑,插入逻辑非常容易出错.我们需要利用异步语法把这个异步回调的形式改成同步的形式,幸好C#已经帮我们设计好了,看代码 // example2 ...

  9. 学习Source Generators之输出生成的文件

    上一篇文章学习了通过获取和解析swagger.json的内容,来生成API的请求响应类. 但是其中无法移动与编辑. 那么本文将介绍如何输出生成的文件. EmitCompilerGeneratedFil ...

  10. Java 异常处理与正则表达式详解,实例演练及最佳实践

    Java 异常 - Try...Catch 在 Java 代码执行期间,可能会发生各种错误,包括程序员编码错误.用户输入错误以及其他不可预料的状况. 当错误发生时,Java 通常会停止并生成错误消息, ...