ASP.net Core에서 SQLClient 라이브러리를 사용하려고하지만 작동하지 않는 것 같습니다. 이 기사는 온라인에서 설정 방법을 조언하지만 저에게 적합하지 않습니다. http://blog.developers.ba/using-classic-ado-net-in-asp-net-vnext/
간단한 콘솔 응용 프로그램 패키지가 있습니다. 내 project.json은 다음과 같습니다.
{
"version": "1.0.0-*",
"description": "DBTest Console Application",
"authors": [ "" ],
"tags": [ "" ],
"projectUrl": "",
"licenseUrl": "",
"compilationOptions": {
"emitEntryPoint": true
},
"dependencies": {
"System.Data.Common": "4.0.1-beta-23516",
"System.Data.SqlClient" : "4.0.0-beta-23516"
},
"commands": {
"DBTest": "DBTest"
},
"frameworks": {
"dnx451": { },
"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"
}
}
}
}
그리고 다음 코드를 시도합니다.
using System;
using System.Data.SqlClient;
namespace DBTest
{
public class Program
{
public static void Main(string[] args)
{
using (SqlConnection con = new SqlConnection(ConnStr)) {
con.Open();
try {
using (SqlCommand command = new SqlCommand("SELECT * FROM SAMPLETABLE", con)) {
command.ExecuteNonQuery();
}
}
catch {
Console.WriteLine("Something went wrong");
}
}
Console.Read();
}
}
}
그러나 다음과 같은 오류가 발생합니다.
다른 사람이이 작업을 했습니까?
답변
튜토리얼에서이 부분을 놓친 것 같습니다.
System.Data 및 System.Data.SqlClient를 참조하는 대신 Nuget에서 가져와야합니다.
System.Data.Common 및 System.Data.SqlClient.
현재 이것은 project.json –> aspnetcore50 섹션에이 두 라이브러리에 대한 종속성을 생성합니다.
"aspnetcore50": { "dependencies": { "System.Runtime": "4.0.20-beta-22523", "System.Data.Common": "4.0.0.0-beta-22605", "System.Data.SqlClient": "4.0.0.0-beta-22605" } }
Nuget을 통해 System.Data.Common 및 System.Data.SqlClient 를 가져오고 이것이 위의 종속성을 추가하는지 확인하십시오.하지만 간단히 말해 System.Runtime 이 누락되었습니다 .
편집 : Mozarts 답변에 따라 .NET Core 3 이상을 사용하는 경우 Microsoft.Data.SqlClient
대신 참조하십시오 .
답변
Dot Net Core 3의 경우 Microsoft.Data.SqlClient를 사용해야합니다.
답변
이것을 시도해보십시오 projectname.csproj 파일을 열어 주세요.
<PackageReference Include="System.Data.SqlClient" Version="4.6.0" />
이 Reference ” ItemGroup “태그를 내부 에 추가해야합니다 .