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

相关推荐
SomeOtherTime9 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood9 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青10 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
饮水桶_T14 小时前
JAVA IO流笔记
开发语言·数据结构·算法
Felven16 小时前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪17 小时前
python标准库使用总结
开发语言·python
SomeOtherTime19 小时前
Rust 面向对象介绍(AI回答)
开发语言·python·rust
zh_xuan19 小时前
kotlin常见面试题
开发语言·kotlin·面试题
草莓熊Lotso21 小时前
【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试
开发语言·网络·数据库·c++·微服务·架构·单元测试
huaqianzkh1 天前
WinForm C#:循环修改控件UI闪烁卡顿?SuspendLayout / ResumeLayout 与 BeginUpdate 优化
开发语言·ui·c#