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