C# System.MissingMethodException

C#应用程序工程调用C#类库工程生成的动态链接库调试时报错:

System.MissingMethodException

HResult=0xFFFFFFFF

Message=找不到方法......

软件结构如下:

复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    internal class Program
    {
        static void Main(string[] args)
        {
            //省略,其他逻辑
            ApplicationProgramFunction();
            //省略,其他逻辑
        }
        /// <summary>
        /// 应用程序自身方法
        /// </summary>
        static void ApplicationProgramFunction() 
        {
            //省略,其他逻辑
            DynamicLinkedLibrayFuncion();
            //省略,其他逻辑
        }
        /// <summary>
        /// 动态链接库方法
        /// </summary>
        static void DynamicLinkedLibrayFuncion()
        {
            //省略,其他逻辑
        }
    }
}

调试时,当软件运行到ApplicationProgramFunction方法即会直接报错,不会执行方法内DynamicLinkedLibrayFuncion方法前的语句。

尝试方案:

根据网络解决方案尝试过:

1.将对动态链接库工程清理解决方案后重新生成解决方案,确认出错动态链接库版本相同。

2.由于动态链接库工程与应用程序工程有共同引用其他动态连接库,清空动态连接库工程和应用程序工程的外部引用后重新添加,确保被使用的所有动态链接库版本相同。

解决方案:

修改应用程序工程属性,"生成"选项卡"目标平台"下拉框为"Any CPU",勾选"首选32位"勾选框。

结论:

动态链接库和应用程序目标平台需匹配,如动态链接库为64为,应用程序为32位,则会出现该问题。

相关推荐
Yeauty11 小时前
渲染成图再 CLI 拼接,还是进程内直推?Rust 帧到视频的两条路
开发语言·rust·音视频
geovindu11 小时前
CSharp: Breadth First Search Algorithm and Depth First Search Algorithm
开发语言·后端·算法·c#·.net·搜索算法
库克克12 小时前
【C++】set 与multiset
开发语言·c++
Wang's Blog12 小时前
Go-Zero项目开发34: 微服务超时控制与重试机制实践
开发语言·微服务·golang·go-zero
2zcode13 小时前
项目文档:基于MATLAB神经网络的心力衰竭预测与临床辅助决策系统研究
开发语言·神经网络·matlab·心力衰竭预测\
减瓦14 小时前
深入 Quarkus:云原生时代 Java 的重生之路
java·开发语言·云原生
杨运交14 小时前
[053][核心模块]Java枚举缓存与ORM集成实践
java·开发语言·缓存
2401_8949155314 小时前
Geo优化系统源码部署搭建技术——PHP程序开发部署指南
开发语言·php
wuyk55514 小时前
67.嵌入式C语言进阶:结构体指针实战指南——STM32外设、传感器数据访问的高效技巧
c语言·开发语言·stm32·单片机
找磁材15 小时前
空心杯电机与永磁体
开发语言·磁性材料·钕铁硼·磁钢