面向 netstandard 的 COM 组件

COM component targeting netstandard

是否可以创建 C# 项目来创建 COM 组件并面向 netstandard?

我们有这个项目,COM 组件构建并运行良好:

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
    <TargetFramework>net45</TargetFramework>
</PropertyGroup>

<ItemGroup>
    <COMReference Include="ADODB">
    <Guid>{B691E011-1797-432E-907A-4D8C69339129}</Guid>
    <VersionMajor>6</VersionMajor>
    <VersionMinor>1</VersionMinor>
    <Lcid>0</Lcid>
    <WrapperTool>tlbimp</WrapperTool>
    <Isolated>False</Isolated>
    <EmbedInteropTypes>True</EmbedInteropTypes>
    </COMReference>
</ItemGroup>

</Project>

有一个 ADODB 参考,因为我们需要以这种方式访问​​ SQL 服务器(旧版应用程序)。没关系。

现在,如果我将目标框架更改为 netstandard1.0(或 1.1),编译时一切都会崩溃。

IDE 建议包含的所有 nugets 都没有解决构建问题,我在网上找不到相关信息。

我很好奇这是否可能以及这样做是否有任何主要优势。


一些编译错误:

COM 仅在 Windows 上可用。 netstandard 为许多平台定义了一个通用基础,例如 Linux、macOS 和支持 Xamarin 的移动平台。

因此,以 netstandard 为目标的 COM 组件没有意义。如果 COM 组件只是您项目的可选部分,其余部分应以 netstandard 为目标,则将其提取并通过其他可用方式与其通信,例如通过将其公开为服务。