【问题标题】:COM interop in ASP.5 projectsASP.5 项目中的 COM 互操作
【发布时间】:2016-03-09 18:10:16
【问题描述】:

上下文是一个 ASP.NET 5(目前为 RC1)应用程序,因此使用 project.json 作为引用,.xproj 用于 Visual Studio。该应用程序仅针对完整的 .NET 4.6 框架(不支持 .net Core)。

我需要使用作为 COM 接口公开的第三方服务。

将它们添加到我的项目中的最佳方法是什么?我找不到任何相关信息。

我的直觉是,我需要使用csproj 和“旧”构建工具等创建一个使用 COM 组件的“经典”.net dll。然后将该 dll 作为二进制引用从我的 ASP.NET 5 项目。

这看起来对吗?还有什么办法吗?

【问题讨论】:

    标签: .net com asp.net-core


    【解决方案1】:

    我们不支持向新项目系统添加 com 引用。在 github 上提交功能请求。

    【讨论】:

    • 谢谢大卫。我不会创建功能请求,因为我不太关心 COM,而且我认为它不适合可移植的 .net Core 理念。我可以引用另一个 dll。
    【解决方案2】:

    根据https://stackoverflow.com/a/27198637/3757876,您似乎需要为您的 com 组件创建一个 Nuget 包。

    This question 地址使用您的 com 组件作为 dll。

    我使用Nuget Package Explorer 将我的 dll 打包为 nugget 包。

    之后,我创建了一个本地 Nuget 存储库,我的项目从中提取。

    【讨论】:

    • 谢谢。实际上,您不需要 Nuget 包来引用二进制 dll。如果您创建一种特殊类型的项目,您可以将它们作为项目依赖项引用:{ "frameworks": { "dnx46": { "bin": { "assembly": "My.dll" } } } }
    • 问题不是关于引用 dll,而是更多关于如何将 COM 添加到新项目系统中。根据您的回答,我假设您会遵循我概述的相同解决方案:以老式方式 (csproj) 创建一个 .net 4.6 DLL 并引用该二进制文件?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-24
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 1970-01-01
    • 2011-04-13
    • 2011-11-18
    相关资源
    最近更新 更多