MFC的dll文件与.net framework

在没有安装.NET Framework的系统上,一个使用MFC的DLL组件在某些环境中出现错误。问题在于MFC程序设定为"在共享的DLL中使用MFC",导致需要系统中的DLL文件。解决方案是改为"在静态库中使用MFC",这样可以避免依赖外部DLL,使得程序在没有相应DLL的机器上也能运行。选择静态链接虽然会使EXE文件增大,但能提高运行效率并减少部署时的依赖问题。
摘要由CSDN通过智能技术生成

半年前开发了一个添加水印的com组件,前几天客户那里报错,

 

状况:在xp、网络上下载的别人OEM的2003 虚拟机上没 有问题,但是在2003sp2裸机上(打过VC9sp1补丁)报错
代码(VC9):if (m_hDll == NULL)
m_hDll = ::LoadLibraryW(RelToAbsWithPlugin(L"PDFToolCol.dll").c_str());

PdfToolAction_Proc pAction = (PdfToolAction_Proc)GetProcAddress(m_hDll, "PdfToolAction");
ASSERT(pAction != NULL);
错误:ASSERT弹出错误,loadLibrary没有报错。

 

后来安装了个2008调试,发现没错,这才把目标缩小到了VS2008上,经过一番周折,最后发现是没有安装.net framework。到网上查了一下,才了解其中缘由。

 

(转自冷秋魂的专栏)

以前在使用VC开发出的程序,在一个没有开发环境的机器上必须安装.Net Framework才能运行。一直没有在意,知道同事提起这个问题。

MFC和.Net Framework是两个不同的框架,为什么有这个依赖呢?

答案是: MFC和.Net Framework确实是不同的框架。MF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值