[英]SqlConnection.Open() hangs in .NET Core Consol project, but connects fine in a regular C# console project
我的程序使用以下代碼連接到C#控制台項目中的服務器端:
public static void Main(string[] args)
{
Console.WriteLine("Hello World!");
System.Data.SqlClient.SqlConnection conn =
new System.Data.SqlClient.SqlConnection();
string connectionString = "Data Source=IPOfServer;" +
"Initial Catalog=nameOfDatabase;"+
"User ID=USERNAME;" +
"Password=PASSWORD";
conn.ConnectionString = connectionString;
try
{
Console.WriteLine("Before Connection");
conn.Open();
Console.WriteLine("Connection Open");
conn.Close();
Console.WriteLine("Connection Closed");
}
catch (Exception ex)
{
Console.WriteLine(String.Format("Can't Connect; Error:{0}", ex.Message));
}
}
並輸出:
Hello World!
Before Connection
Connection Open
Connection Closed
當我在.NET Core Console項目中嘗試完全相同的代碼時,我的輸出是:
Hello World!
Before Connection
但是程序永遠不會出錯或結束。 它只是永遠掛着。
我正在使用軟件包System.Data.Common
和System.Data.SqlClient
這是我嘗試連接的MSSQL 2005 Server。
我在做什么錯/如何使用.NET Core Console項目連接到服務器? 我考慮使用EntityFramework
,但寧願不使用它,除非那是我唯一的選擇。
請嘗試以下操作:
在Visual Studio 2015中打開現有的解決方案。現在,在解決方案中添加新的客戶端庫.NET Core項目。
通過解決方案上下文菜單>>添加>>新項目或文件>>新建>>項目,打開添加新項目屏幕。 通過已安裝>>模板>> Visual C#>> .NET Core,選擇類庫(.NET Core)模板。 將項目命名為“ WebApplicationCore.NetCore.DataAccess”。 將適當的位置設置為“ C:\\ ASP.NET Core \\ Welcome To .NET Core 1.0 \\ ASP.NET Core”(默認選擇為解決方案根)。 單擊確定按鈕。
它將創建一個新的類庫項目。
使用以下方法之一,添加對Microsoft.EntityFrameworkCore.SqlServer的引用。
通過工具>> NuGet數據包管理器>>軟件包管理器控制台打開軟件包管理器控制台,並為WebApplicationCore.NetCore.DataAccess項目運行安裝命令“ Install-Package Microsoft.EntityFrameworkCore.SqlServer”。
通過WebApplicationCore.NetCore.DataAccess參考上下文菜單>>引用>>管理NuGet包,打開NuGet Manager。 在“瀏覽”選項卡中搜索“ Microsoft.EntityFrameworkCore.SqlServer”並安裝。
將Class1重命名為BaseDataAccess,並添加所需的實現以連接到SQL Server數據庫。
關於StackOverflow的類似問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.