VSS to TFS ERROR: Retrieving the COM class factory error: 8007007e

VSS to TFS ERROR: Retrieving the COM class factory error: 8007007e

我正在尝试 运行 使用 VSS 升级工具进行增量迁移。我正在通过命令提示符进行迁移。

我过去曾成功地将我们所有的项目和历史迁移到 TFS,我还签入了增量迁移。但是,现在我第三次这样做了,但出现错误。

据我所知,一切都没有改变。任何关于如何调试的一般提示都会有所帮助。

我在 运行 执行 vssupgrade migrate settings.xml 命令时遇到的错误。

ERROR: Retrieving the COM class factory for component with CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E)

查看分析工具创建的日志文件,错误如下所示:

[VSS,             Error,     3, 2019/03/20 11:23:56.676] Exception: System.IO.FileNotFoundException
    Message: Retrieving the COM class factory for component with CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E).
    Stack Trace:    at Microsoft.TeamFoundation.Admin.VssMigration.VssConverter.OpenVss(String sourceRepository, String passwd)
   at Microsoft.TeamFoundation.Admin.VssMigration.VssConverter.Initialize(ExecutionMode executionMode, MigrationSession migrationSession)
   at Microsoft.TeamFoundation.Admin.VssMigration.Api.MigrationSession.PrepareForProcessing(ExecutionMode executionMode, Boolean requireUserMapFile)
   at Microsoft.TeamFoundation.Admin.VssMigration.Api.MigrationSession.Migrate()
   at Microsoft.TeamFoundation.Admin.VssMigration.CommandLine.VSSUpgradeCommand.MainThread()
    Help Link: 
    BaseExceptionMessage: Retrieving the COM class factory for component with CLSID {783CD4E4-9D54-11CF-B8EE-00608CC9A71F} failed due to the following error: 8007007e The specified module could not be found. (Exception from HRESULT: 0x8007007E).

COM interop fails when the convertor runs under x64,可能有用的技巧是从强制的 32 位命令提示符开始转换,您可以通过以下方式开始:

c:\windows\SysWOW64\cmd.exe

那应该给你一个强制的 32 位上下文:

另一种选择是始终更改 corflags to force the convertor to x86

corflags /32bit+ vssupgrade.exe

我的解决方案是修复 Visual Source Safe Upgrade Tool for Team Foundation Server。我从 Microsoft's website

重新下载了应用程序 link

然后 运行 并修复应用程序。这解决了我的问题。