是否有可能创建一个C#项目来创建COM组件并瞄准网络标准?
我们有这个项目,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引用,因为我们需要以这种方式访问Server (遗留应用程序)。不要紧。
现在,如果我将目标框架更改为netstandard1.0 (或1.1),编译就会崩溃。
IDE建议的所有nugets都包括不要解决构建问题,而且我无法在web上找到相关信息。
我最好奇的是,这样做是否可行,以及这样做是否有任何主要好处。
一些编译错误:
ProgId未找到[ClassInterface(ClassInterfaceType.None)]未找到发布于 2018-06-28 11:09:29
COM只能在Windows上使用。netstandard为许多平台定义了一个公共基础,比如Linux、macOS和支持Xamarin的移动平台。
因此,将COM组件定位在netstandard上是没有意义的。如果COM组件只是项目的一个可选部分,而其他组件应该以netstandard为目标,则提取它并通过其他方法与它通信,如果它是可用的,例如将它公开为一个服务。
https://stackoverflow.com/questions/51081080
复制相似问题