运行容器,System.PlatformNotSupportedException:不支持COM

时间:2019-01-11 05:23:58

标签: docker .net-core com containers dockerfile

我正在为.net核心应用程序构建Linux docker映像。目标框架:.Net Core 2.2。 Docker文件已成功构建。运行容器时出现以下错误。

Unhandled Exception: System.PlatformNotSupportedException: COM is not supported

我怀疑此错误与此应用程序使用的第三方COM控件有关。但是我不知道为什么即使成功构建了映像仍会发生此错误?

1 个答案:

答案 0 :(得分:0)

众所周知,.NET Core不支持COM技术。
您合并的某些程序包中可能会在COM上进行API调用。

如果您记录了日志和跟踪记录,是否还有信息?
如果检查问题发生前后的记录,您可能会发现一些问题。

或者,使用以下所示的工具进行检查。
但是,我自己并不使用这些工具,因此请向适当的地方询问详细信息。

Analyze your dependencies to port code to .NET Core
.NET API analyzer
The .NET Portability Analyzer
The .NET Framework Analyzer


.NET Core或.NET Standard当前似乎不支持COM Interop。
似乎也不是将来。

Clarify direction of COM Interop #55
Can you make a .NET Standard assembly COM-Visible? #412
.NET Core 2.1 - How to create COM object and generate *.tlb file
Com Interop in .netcore #8654
Does .Net Core support the creation of COM objects? #31359