在32位机器上编译64位的c#项目? (Visual Studio 2015)

时间:2017-05-02 10:21:26

标签: c# windows dll visual-studio-2015

我是 C# Visual Studio 的新手。我已经搜索了这个问题并找到了一些有趣的答案,但它们似乎都没有用。

情况就是这样:我有一个TPV示例源本身应该没问题,我使用选项发布从 32位Windows 7 使用Visual Studio 2015编译它/ x86 ,它的目标是使用 64位Windows 7 。应用程序打开但是当我即将使用某些功能(例如打开现金抽屉或其他依赖于外围设备的特殊事件)时,它会抛出一个框,说它有错误并且可以继续忽略错误(这会保留应用程序运行但忽略了关于那些外围事件的请求)或退出。这是它给我的额外信息:

这是一个例外:

  

System.DllNotFoundException:无法加载DLL“toggle_Cd.dll”:找不到指定的模块。 (来自HRESULT的异常:0x8007007E)          在Elo_Proj.cashDrawerPopup._tmain()          在Elo_Proj.cashDrawerPopup.cashDrawerPopup_Load(对象发件人,EventArgs e)在C:\ Users \ usuario \ Documents \ TPV \ PayPoint Windows \ Sample Source \ Elo_Paypoint_Windows_App_Source_Code \ Elo_Paypoint_Windows_App_Source_Code \ Elo_Proj_prj \ cashDrawerPopup.cs:第106行          在System.Windows.Forms.Form.OnLoad(EventArgs e)          在System.Windows.Forms.Form.OnCreateControl()          在System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)          在System.Windows.Forms.Control.CreateControl()          在System.Windows.Forms.Control.WmShowWindow(消息& m)          在System.Windows.Forms.Control.WndProc(消息& m)          在System.Windows.Forms.ScrollableControl.WndProc(消息& m)          在System.Windows.Forms.Form.WmShowWindow(消息& m)          在System.Windows.Forms.Form.WndProc(消息& m)          在System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)          在System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)          在System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)

除了我认为在这里没有特别相关的装配信息。我试图寻找Exception from HRESULT: 0x8007007E,但找不到合适的解决方案。我也寻找toggle_Cd.dll,但我对如何处理它毫无头绪。我试图将它添加到64位机器中的dll windows32中引导的路径,并将其直接添加到可执行文件的同一文件夹中,但我想这不是它的工作原理。

提前致谢,对于我对语言,程序和操作系统缺乏经验感到抱歉。

1 个答案:

答案 0 :(得分:0)

好的,所以使用原始示例文件夹树.dll将无法正常工作。但是粘贴应用程序所在的Bin文件夹中所需的.dll文件,它确实有效。我希望它使用.dll有组织的属性工作,但这显示错误在路径中,所以我认为我可以处理它。我对外围设备的正常活动有一些问题,但它与.dll没有任何关系(我想!)。

非常感谢,伙计们,你的快速答案引导我。

度过愉快的一天。