从 ASP.NET 调用 ADODB COM 对象 5

Calling ADODB COM object from ASP.NET 5

是否可以从 ASP.NET5/dnx.exe 调用 COM 对象?我引用了一个 .NET 4.5.1 对象,它本身尝试创建 ADODB 连接,但失败并显示以下内容:

System.URI.FormatException:{"Invalid URI: The URI is empty."}

调用堆栈:

System.dll!System.Uri.CreateThis(string uri, bool dontEscape, System.UriKind uriKind)   Unknown
System.dll!System.Uri.Uri(string uriString) Unknown
System.dll!System.ComponentModel.Design.RuntimeLicenseContext.GetLocalPath(string fileName) Unknown
System.dll!System.ComponentModel.Design.RuntimeLicenseContext.GetSavedLicenseKey(System.Type type, System.Reflection.Assembly resourceAssembly) Unknown
System.dll!System.ComponentModel.LicenseManager.LicenseInteropHelper.GetCurrentContextInfo(ref int fDesignTime, ref System.IntPtr bstrKey, System.RuntimeTypeHandle rth)    Unknown

基于此 post、http://talk.remobjects.com/t/net-aspnet-5-uriformatexception-when-creating-connectionmanager/7589/2,似乎 Microsoft.Dnx.Host.Clr.dll 程序集没有 CodeBase 属性,最终是从中检索 URI 路径的地方.我尝试使用 /r 开关将 Microsoft.Dnx.Host.Clr.dll 添加到 GAC,以强制创建代码库:

C:\gacutil /f /i "C:\Program Files\DNX\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\Microsoft.Dnx.Host.Clr.dll" /r 文件路径 "C:\Program Files\DNX\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\Microsoft.Dnx.Host.Clr.dll" "My App"

而且有效!

编辑:

我在 DNX 源代码中发现了问题,这是问题的根本原因。我已经提交了一个拉取请求来解决这里的问题:https://github.com/aspnet/dnx/pull/3338