我有这个简单的C#程序:
using Npgsql; public class App { public static void Main(string[] args) { const string CONNECTION_STRING = "Host=myserver;Username=mylogin;Password=mypass;Database=mydatabase"; using (var conn = new NpgsqlConnection(CONNECTION_STRING)) { conn.open(); } } }
我用mono(mcs)编译它:
mcs -target:exe -lib:bin -r:System.Data.dll -r:Npgsql.dll -r:System.dll -r:Mono.Security.dll -out:bin/ssl.exe src/App.cs
Unhandled Exception: System.TypeLoadException: Could not load type 'System.Net.Security.SslStream' from assembly 'System,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'. at Npgsql.NpgsqlConnector.Open () <0x4155f7f0 + 0x00115> in <filename unkNown>:0 at Npgsql.NpgsqlConnectorPool.GetPooledConnector (Npgsql.NpgsqlConnection Connection) <0x4155c8d0 + 0x00a4f> in <filename unkNown>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.TypeLoadException: Could not load type 'System.Net.Security.SslStream' from assembly 'System,PublicKeyToken=b77a5c561934e089'. at Npgsql.NpgsqlConnector.Open () <0x4155f7f0 + 0x00115> in <filename unkNown>:0 at Npgsql.NpgsqlConnectorPool.GetPooledConnector (Npgsql.NpgsqlConnection Connection) <0x4155c8d0 + 0x00a4f> in <filename unkNown>:0
我的Npgsql.dll版本
$monop2 -r Npgsql.dll Assembly information: Npgsql Version=2.2.0.0 Culture=neutral PublicKeyToken=5d8b90d52f46fda7
我的编译器:
$mcs --version Mono C# compiler version 4.4.0.0 $mono --version Mono JIT compiler version 4.4.0 (Stable 4.4.0.40/f8474c4 Mon Mar 28 12:22:29 UTC 2016) copyright (`u`C) 2002-2014 Novell,Inc,Xamarin Inc and Contributors. www.mono-project.com TLS: __thread SIGSEGV: altstack Notifications: epoll Architecture: amd64 disabled: none Misc: softdebug LLVM: supported,not enabled. GC: sgen
最后,我的环境:
$uname --all Linux abe 4.5.0-1-ARCH #1 SMP PREEMPT Tue Mar 15 09:41:03 CET 2016 x86_64 GNU/Linux
谢谢
解决方法
原文地址:https://www.jb51.cc/csharp/101070.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。