【发布时间】:2019-10-22 12:28:02
【问题描述】:
我正在尝试将一些代码从 .net frame 4.7.1 移植到 .net core 3.0。
问题是我们有一个 C++ COM 程序集,我们使用清单在 .net 项目中引用它。
我已将项目添加到新解决方案并添加了参考。创建了一个互操作 dll,但是当我尝试运行代码时出现异常
{"Could not load file or assembly 'Interop.MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'. The system cannot find the file specified.":"Interop.MyAssembly, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"}
该文件位于项目的输出文件夹中。实际的 com 程序集不是,但即使复制它也不起作用。
【问题讨论】:
-
COM 是特定于 windows 的,我怀疑它与 .Net 核心的兼容性,它也需要与 Linux 和 Mac 一起使用。
-
这不起作用,因为 MSBuild 的 .net 核心版本无法构建项目。错误:MSB4803:.NET Core 版本的 MSBuild 不支持任务“ResolveComReference”。