VS2010在64位操作系统上选择x86平台进行编译,这样可兼容老的dll文件

该项目在32位平台上一切正常,但如果在64位Win7上编译后,调试,报错:

然后在编译选项中选择:“x86”平台,编译,运行,就不报错了。

补充,在日志文件里显示了如下和内存有关的异常:

 

Header]\r\nERROR 11:18:18,523 3696 NeoNetech.UI.VisualStudioStyle.MainForm - Failed to execute command LiveFPInjectDependenciesCommand on start
System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
在 NNT.NNTFingerProcessBlock.Convert.PEFIS.PefisConvert.GetFingerInfoSize_NNT()
在 NNT.NNTFingerProcessBlock.Convert.PEFIS.PefisConvert..ctor()
在 NNT.NNTFingerProcessBlock.FingerProcessFactory..ctor()
在 NNT.NNTFingerProcessBlock.FingerProcessFactory.get_Instance()
在 NeoNetech.LiveFP.Solo.Command.LiveFPInjectDependenciesCommand.Execute()
在 NeoNetech.UI.VisualStudioStyle.MainForm.ExecuteConfigCommand(StringCollection commandIds)
ERROR 11:18:28,566 3696 NeoNetech.UI.VisualStudioStyle.MainForm - Failed to execute command LoadLiveListCommand on start
System.ObjectDisposedException: 无法访问已释放的对象。
对象名:“TabControl”。
在 System.Windows.Forms.Control.CreateHandle()
在 System.Windows.Forms.Control.get_Handle()
在 System.Windows.Forms.Control.CreateGraphicsInternal()
在 System.Windows.Forms.Control.CreateGraphics()
在 Crownwood.DotNetMagic.Controls.TabControl.RecalculateSinglelineTabs(Int32 xWidth, Int32 xStartPos, Rectangle tabPosition)
在 Crownwood.DotNetMagic.Controls.TabControl.Recalculate()
在 Crownwood.DotNetMagic.Controls.TabControl.OnInsertedPage(Int32 index, Object value)
在 System.Collections.CollectionBase.System.Collections.IList.Add(Object value)
在 Crownwood.DotNetMagic.Controls.TabPageCollection.Add(TabPage value)
在 NeoNetech.UI.VisualStudioStyle.WindowCollection.AddControl(Control control, String title)
在 NeoNetech.UI.VisualStudioStyle.MainForm.AddWindow(Control control, String title)
在 NeoNetech.LiveFP.Solo.Command.LoadLiveListCommand.Execute()
在 NeoNetech.UI.VisualStudioStyle.MainForm.ExecuteConfigCommand(StringCollection commandIds)

总的来讲,猜测都是和dll的兼容性有关,和内存的调用有关。

posted @ 2013-02-20 11:21  Qlx2011  阅读(11328)  评论(0编辑  收藏  举报