Vb.net QBSDK打开QuickBooks的次实例

Vb.net QBSDK打开QuickBooks的次实例,vb.net,quickbooks,qbfc,Vb.net,Quickbooks,Qbfc,我正在VS2012中开发一个程序,VB.NET。我使用的是QBSDKV12。我正试图打开与QB Enterprise 2012的连接,但实际情况是,它打开了QB的一个辅助实例,然后给我一条错误消息,说明它无法同时打开两个实例。如果我在尝试连接时关闭QB,我会收到一条消息,我需要先授予它权限,这要求连接时QB处于打开状态。我试着不使用公司文件名,只连接到当前打开的会话,但它仍然会打开第二个窗口。我已将QB更新为最新和最棒的版本。似乎没有任何帮助。我唯一一次看到这种情况发生在我这方面的时候,是当我指

我正在VS2012中开发一个程序,VB.NET。我使用的是QBSDKV12。我正试图打开与QB Enterprise 2012的连接,但实际情况是,它打开了QB的一个辅助实例,然后给我一条错误消息,说明它无法同时打开两个实例。如果我在尝试连接时关闭QB,我会收到一条消息,我需要先授予它权限,这要求连接时QB处于打开状态。我试着不使用公司文件名,只连接到当前打开的会话,但它仍然会打开第二个窗口。我已将QB更新为最新和最棒的版本。似乎没有任何帮助。

我唯一一次看到这种情况发生在我这方面的时候,是当我指定要打开的特定公司文件与当前运行的QuickBooks版本不同时。例如,如果该文件是QuickBooks 2012 Premier文件,但您打开了QuickBooks 2012 Enterprise,则会出现此问题

以下是我想要打开当前在QuickBooks中打开的文件时通常用于连接的代码:

QBSessionManager SessionManager = null;
try
{
    SessionManager = new QBSesionManager();
    if(SessionManager == null)
        throw new ArgumentNullException("Could not create SessionManager");
    SessionManager.OpenConnection2("AppID","CompanyName", ENConnectionType.ctLocalQBD);
    SessionManager.BeginSession("", ENOpenMode.omDontCare);

    // DO MY QB STUFF

}
catch(Exception ex)
{
    MessageBox.Show("Error: " + ex.Message);
}
finally
{
    if(SessionManager != null)
    {
        SessionManager.EndSession();
        SessionManager.CloseConnection();
        SessionManager = null;
    }
}