반응형
C# 윈폼 환경에서 DLL라이브러리를 포함한 EXE 실행파일을 배포하는 방법을 공유한다. 테스트 진행은 MYSQL DB 연결에 사용하는 DLL 라이브러리를 포함하는 것으로 진행한다.
1. C# DLL 환경 구축
C# 윈폼 프로젝트를 생성한 후 MYSQL 연결 DLL을 설치 한 후 설치된 DLL의 셋팅을 진행한다.
1 - 1 . C# 윈폼 환경 프로젝트를 생성한다.
1 - 2. 생성된 프로젝트의 버튼을 생성한다.
1 - 3. [ 프로젝트 ] - [ NuGet 패키지 관리 ] 진입한다.
1 - 4. 테스트를 위해 MYSQL.DATA 라이브러리를 설치한다.
1 - 5. 라이브러리를 설치한 후 실행파일 폴더에 위치된 DLL ( Ex. Mysql.Data.dll) 파일을 솔루션 프로젝트에 끌어서 삽입한다.
1 - 6. 프로젝트에 추가된 DLL 파일을 확인한다.
1 - 7. [ NuGet 패키지 관리 ] 를 통해 설치된 Mysql.Data 라이브러리를 [ 로컬복사 : false ] 상태로 변경한다.
1 - 8. 프로젝트에 dll파일을 끌어서 생성된 라이브러리 파일은 아래와 같이 변경한다.
[ 빌드작업 : 포함리소스 ] , [ 출력 디렉토리에 복사 : 복사 안함 ]
2. 버튼클릭이벤트 작성.
DLL 라이브러리 셋팅을 완료한 후 아래와 같이 C# 윈폼 코드를 작성한다.
using MySql.Data.MySqlClient;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
DB_CONN_CHK_MYSQL();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
return;
}
MessageBox.Show("연결");
}
public string DB_IP;
public string DB_PORT;
public string DB_NAME;
public string DB_ID;
public string DB_PW;
public Boolean db_conn = false;
public static MySqlConnection mySqlConnection;
//MYSQL 연결
public void DB_CONN_CHK_MYSQL()
{
DB_IP = "127.0.0.1";
DB_PORT = "3306";
DB_NAME = "testdb";
DB_ID = "abc";
DB_PW = "abc123";
//DB_연결안됨
if (db_conn == false)
{
string sql_str = "Server=" + DB_IP + ";port=" + DB_PORT + ";Database=" + DB_NAME + ";Uid=" + DB_ID + ";Pwd=" + DB_PW + ";";
mySqlConnection = new MySqlConnection(sql_str);
try
{
mySqlConnection.Open();
db_conn = true;
return;
}
catch (Exception ex) { MessageBox.Show(ex.Message); }
{
mySqlConnection.Close();
db_conn = false;
}
}
//DB_연결됨
else
{
//현재 연결중인지 확인
try
{
string sql_str = "select now()";
MySqlCommand sql_cmd = new MySqlCommand(sql_str, mySqlConnection);
MySqlDataReader rs1 = sql_cmd.ExecuteReader();
rs1.Close();
return;
}
catch
{
db_conn = false;
DB_CONN_CHK_MYSQL();
}
}
}
}
이후 프로젝트 빌드를 진행한 후 실행파일을 배포하여 사용한다.
반응형
댓글