VB解决方案在调试器中运行,但不在bin文件夹

时间:2016-11-10 07:42:25

标签: vb.net windows debugging

我有一个在vb中使用外部dll的解决方案,当我在调试器中从vb运行它时,它可以正常工作。但是,当尝试从bin文件夹中的exe文件执行程序时,程序崩溃,发布exe文件给出了" InvalidOperation"消息和debug exe给出如下所示的错误消息。

Debug exe error

代码段是:

VB:

<DllImport("libjcom_exp-0.dll", Entrypoint:="jcreate")> _
Public Shared Function Jcreate() As IntPtr
End Function

Public Sub New()
    objptr = Jcreate()
    error_message = Jget_last_err(objptr)
    Jset_rps(objptr, 40)
    If error_message.Length <> 0 Then
        Throw New System.Exception(error_message)
    End If
End Sub

C ++:

DLL_EXP void * __stdcall jcreate()
{
  return new libjcom_exp; 
}

我在搜索时尝试过的事情:

  • 禁用反病毒
  • 未经优化编译
  • 使用依赖性walker检查bin文件夹中是否包含所有dll
  • 确认exe和所有相关文件构建到正确的文件夹
  • 项目是作为x86项目构建的

其他人建议&#39; jcreate&#39;和&#39; get_last_error&#39;函数同时执行,在调试模式下,您单独跨越单行,然后不会触发问题。

操作系统是Windows 10和VB 2008。

提前谢谢。

编辑:我还使用过&#39;以管理员身份运行&#39;两个exe的结果相同

0 个答案:

没有答案