【发布时间】:2016-08-14 23:05:03
【问题描述】:
我在 CentOS 7.1 上运行 Dotnet CLI 版本 1.0.0-rc2-002439
我已经构建了一个原型控制台应用程序,它只对 PostgreSQL 9.4 数据库执行选择。
我只针对 DNXCORE50,在 Windows 上,一切正常。当我在 CentOS 上运行它时,conn.Open() 上出现以下异常
Unhandled Exception: System.MissingMethodException: Method not found: 'Void System.Net.Security.SslStream.AuthenticateAsClient(System.String, System.Security.Cryptography.X509Certificates.X509CertificateCollection, System.Security.Authentication.SslProtocols, Boolean)'.
at Npgsql.NpgsqlConnector.RawOpen(NpgsqlTimeout timeout)
at Npgsql.NpgsqlConnector.Open(NpgsqlTimeout timeout)
at Npgsql.NpgsqlConnector.Open()
at Npgsql.NpgsqlConnectorPool.GetPooledConnector(NpgsqlConnection Connection)
at Npgsql.NpgsqlConnectorPool.RequestConnector(NpgsqlConnection connection)
at Npgsql.NpgsqlConnection.OpenInternal(NpgsqlTimeout timeout)
at Npgsql.NpgsqlConnection.Open()
at SensorBot.Core.Services.ConfigService.GetConfig()
at ConsoleApplication.Program.Main(String[] args)
这是我正在使用的 project.json:
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": false
},
"dependencies": {
"Microsoft.NETCore.App": {
"version": "1.0.0-rc2-23811"
},
},
"runtimes": { "centos.7-x64": { } },
"frameworks": {
"dnxcore50": {
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23516",
"System.Collections": "4.0.11-beta-23516",
"System.Console": "4.0.0-beta-23516",
"System.Linq": "4.0.1-beta-23516",
"System.Threading": "4.0.11-beta-23516",
"System.IO": "4.1.0-*",
"System.IO.FileSystem": "4.0.1-rc2-23811",
"System.Runtime.Serialization.Primitives": "4.1.1-*",
"System.Dynamic.Runtime": "4.0.11-*",
"System.Net.Security": "4.0.0-beta-23405",
"System.Net.NetworkInformation": "4.1.0-beta-23405",
"System.Text.RegularExpressions": "4.0.12-rc2-23811",
"Npgsql": "3.1.0-alpha6"
}
}
}
}
我在 npgsql 的 Github 上看到使用 https://www.myget.org/gallery/npgsql-unstable 作为包源并使用 Npgsql 的不稳定版本修复它但是当我使用 "Npgsql": "3.1.0-unstable0458" 时应用程序无法编译并说这个版本的 npgsql 不是兼容 DNXCore 5.0。
一定是我做错了什么,因为其他人似乎不再对此有任何问题。
有什么想法吗?
【问题讨论】:
标签: postgresql npgsql dnx50 dotnet-cli