PRB: Cannot Build Migration DLLs by Using Visual Studio .NET for Migration from Site Server 3.0 (323099)



The information in this article applies to:

  • Microsoft Commerce Server 2002

This article was previously published under Q323099

SYMPTOMS

When you try to build a Migration Utility Library (MigUtil) by using Microsoft Visual Studio .NET, you may receive the following error message:
error C2065: '_ASSERT' : undeclared identifier
Also, you cannot build some objects by using Visual Studio .NET:
  • When you try to build Building MigrationLogObj, MigrationModifyObj, or MigrationReadObj, you may receive the following error message:
    fatal error LNK1104: cannot open file 'cstrace.lib'.
  • When you try to build MigrationWriteObj, you may receive the following error message:
    mscsups.h cannot open the include file.
  • When you try to build MigrationMainObj, you may receive the following error messages:
    warning C4018: '<': signed/unsigned mismatch.
    error C2872: 'IXMLDOMDocumentPtr' : ambiguous symbol ...
    error C2664: 'IXMLDOMDocument::get_documentElement' : cannot convert parameter ...

CAUSE

This problem occurs because the project was created by using Visual Studio 6.0.

RESOLUTION

You can build the project successfully by using Visual C++ 6.0, after you change the path for includes. When you use Visual Studio .NET, you must include an additional header file that is used for CRT debugging. The main definitions and macros for CRT debugging are included in the Crtdbg.h header file.

WORKAROUND

To work around the problem, do any of the following:
  • Convert the projects to Visual Studio .NET format. Open each project; when the conversion prompt appears, click Yes.
  • Change the ..\Include\MigUtil.h file to include the Crtdbg.h header file, as in the following sample code:
    // main definitions and macros for CRT debugging
    #include <crtdbg.h>
     
    					
  • In Visual Studio .NET, do the following:
    1. Open the project Properties for the Configuration and the Platform that you want.
    2. In Configuration Properties, do the following:
      1. In General, in the C/C++ section, change the path for Additional Include Directories from
        .\..\..\..\include
        								
        to
        .\..\..\..\..\include
        							
      2. In General, in the Linker section, change the path for Additional Directory Libraries from
        .\..\..\..\include
        								
        to
        .\..\..\..\..\include
        							
  • In Visual Studio .NET, open the MigrationMain project. In MigrationProfile.cpp, change the following statement in the CMigration::LoadFromXML function from
    IXMLDOMDocumentPtr pdoc;
    						
    to
    MSXML::IXMLDOMDocumentPtr pdoc;
    					

MORE INFORMATION

The Directory Migration Toolbox includes compiled versions of the components that you can use to immediately migrate the Site Server 3.0 Membership Directory to the Commerce Server Profile data store. Additionally, the toolbox contains source code for all of the components, so that you can change the components as you want. For more information about the toolbox, see the product documentation.

Also, two batch files are included as part of the Software Development Kit (SDK) for building this projects by using the command line, MakeDebug.bat, and MakeRetail.bat. However, these batch files are written for Visual Studio 6.0; they may not work with Visual Studio .NET.

Modification Type:MajorLast Reviewed:10/24/2002
Keywords:kberrmsg kbprb KB323099