【发布时间】:2017-06-01 07:31:55
【问题描述】:
我们有一个在 Visual Basic 6.0 上运行的项目 我们尝试在桌面桥中迁移。 当我们使用 DAC 命令提示符时,一切正常。 转换后的应用程序按原样转换,可在任何测试计算机上正常运行。
我们甚至设法添加了一个 COM Interop .NET 程序集,以便能够使用 UWP 功能(如 toast)
在任何开发机器上一切正常,但在测试机器上却不行。 好吧,从 Visual basic 加载 COM Interop .Net 程序集似乎不起作用。
测试机和开发机的主要区别:
- 在开发机器上,Visual Studio 2017 将 dll 注册为 COM 互操作(使用
regasm,幕后) - 在测试机器上,我们首先制作一个 .msi 安装文件(使用 Visual Studio 6 Installer,是的 OLD 一个 interdev 风格的 IDE ;),然后我们应用这个新的 .msi 的 DAC 命令行
所以,看来我们必须在目标测试机器上手动注册这个程序集,使用 regasm ... 因为 Visual Studio 6 安装程序 不知道如何注册互操作组装(使用regasm)
我们如何应对这种情况?
作为细节,我们有一些简单的东西:
- MyApplication.exe (vb6)
- MyWrappers.dll(和 .tlb)(为 COM 互操作标记的 .net C# 程序集并引用 UWP SDK 以便能够启动通知)
再一次,“安装”没有崩溃。仅调用 COM 互操作程序集以启动 toast 通知。
实际上,如果 DAC 没有为 COM 互操作打包此程序集,则此错误似乎很明显,这是有道理的。
有什么想法吗? :)
塞巴斯蒂安
【问题讨论】:
标签: uwp desktop-bridge