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位,则会出现该问题。

相关推荐
十五年专注C++开发1 分钟前
CMake进阶:模块模式示例FindOpenCL.cmake详解
开发语言·c++·cmake·跨平台编译
蜜汁小强1 分钟前
macOS 上管理不同版本的python
开发语言·python·macos
肥硕之虎2 分钟前
从原理到实操:php://filter 伪协议玩转文件包含漏洞
开发语言·网络安全·php
a努力。8 分钟前
中国电网Java面试被问:RPC序列化的协议升级和向后兼容
java·开发语言·elasticsearch·面试·职场和发展·rpc·jenkins
csbysj202013 分钟前
Bootstrap4 徽章(Badges)
开发语言
码农水水15 分钟前
得物Java面试被问:大规模数据的分布式排序和聚合
java·开发语言·spring boot·分布式·面试·php·wpf
AI_567828 分钟前
Airflow“3分钟上手”教程:用Python定义定时数据清洗任务
开发语言·人工智能·python
大只鹅34 分钟前
Stream使用
java·开发语言
Ulyanov38 分钟前
PyVista三维战场仿真实战
开发语言·python·tkinter·pyvista·gui开发
董世昌4144 分钟前
HTTP协议中,GET和POST有什么区别?分别适用什么场景?
java·开发语言·前端