본문 바로가기

.Net53

Visual Studio의 솔류션내 NuGet 설치 패키지 다른 프로젝트에 참조 적용하기 솔류션내의 프로젝트에서 NuGet 설치된 패키지를 다른 프로젝트에 참조 적용하는 방법입니다. 1. 솔류션에서 솔류선용 NuGet 패키지 관리 메뉴를 클릭합니다. 2. 참조에 적용 할 패키지를 선택합니다. 3. NuGet 패키지 관리의 패키지를 오른쪽의 프로젝트에서 적용 할 프로젝트를 선택합니다. 4. 프로젝트의 참조에 NeGet 패키지를 확인해보세요. 2021. 4. 28.
C# DateTime Format DataTime의 Format 예제들입니다. 항상 헷갈렸는데 아래의 예를 자주 참고할 듯 합니다. ^^ Format Result DateTime.Now.ToString("MM/dd/yyyy") 05/29/2015 DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50 DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 05:50 AM DateTime.Now.ToString("dddd, dd MMMM yyyy") Friday, 29 May 2015 5:50 Dat.. 2021. 4. 27.
C# 파일 끝에 추가하기 텍스트 파일의 끝에 텍스트를 추가하는 방법입니다. File 클래스에 파일 끝에 텍스트를 추가 할 수 있는 여러 함수가 존재하는데 간단하게 추가해보도록 하겠습니다. [함수] ※ 자세한 내용은 아래의 링크를 참조하세요. https://docs.microsoft.com/ko-kr/dotnet/api/system.io.file.appendalltext?view=net-5.0 File.AppendAllText 메서드 (System.IO) 지정된 문자열을 파일에 추가합니다. 파일이 아직 없으면 만듭니다.Appends the specified string to the file, creating the file if it does not already exist. docs.microsoft.com [코드] using .. 2021. 4. 15.
C#에서 NSoup을 이용한 HTML 파싱하기 NSoup은 JSoup의 닷넷 버전입니다. HTML과 XML을 파싱할 때 번거롭게 XPath를 사용하지 않아도 됩니다. 간편하게 HTML의 class, id, name 등을 이용하여 쉽게 Element를 찾을 수 있답니다. C# 프로젝트의 NuGet에서 NSoup을 설치하세요. 심플한 NSoup 예제입니다. // 위키에 연결하며, Timeout은 5초로 지정합니다. Document doc = NSoupClient.Parse(new Uri("https://en.wikipedia.org/"), 5000); // HTML의 타이틀입니다. Debug.WriteLine(doc.Title); // id가 mp-itn인 태그 하위에 b태그의 하위 a태그 Elements 추출 Elements newsHeadlines .. 2021. 4. 6.
C# - DataGridView의 Column 높이 변경하기 아래의 이미지는 DataGridView의 Column 높이입니다. Column 높이를 변경하는 방법은 2가지가 있는데, 하나는 XAML에서 수정하는 것과 C# 코드로 처리하는 방법이 있습니다. 두가지 방법에 대해서 알려주릴께요. 1. XAML에서 변경하기 DataGridView 속성중 RowTemplate의 Height 속성을 변경하면 됩니다. 2. C# 코드로 처리하기 DataGridView의 RowTemplate의 Height 속성을 변경하면 됩니다. dataGridView.RowTemplate.Height = 100; [실행 결과] DataGridView의 Column Header 높이 변경은 아래의 포스트를 참고하세요. https://docko.tistory.com/entry/C-DataGridV.. 2021. 2. 26.
C# 이미지(Bitmap) 회전하기 이미지(Bitmap)을 각도로 회전하는 간단한 소스입니다. [소스] using System; using System.Drawing; using System.Windows.Forms; namespace ImgRotateForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Bitmap srcBitmap = new Bitmap(@"d:\temp\earth3d.png"); pbSrc.Image = srcBitmap; pbTrg.Image = RoateImage(srcBitmap, 45); } // 이미지 회전 priva.. 2021. 2. 10.
C# NPOI를 이용한 엑셀 생성 자바에서는 아파치의 POI 라이브러리로 엑셀, 워드 등을 유용하게 사용하고 있습니다. C#에서는 NPOI(.NET POI 인듯..)를 활용하여 엑셀, 워드 등을 생성, 변경 할 수 있습니다. C#에서 MS Office COM 을 이용하여 엑셀 리포트를 작업했는데 클라이언트 환경에 따라 작동이 안되는 경우가 많았습니다. NPOI를 이용하면 클라이언트의 환경(MS 오피스 버전 등) 문제는 자유로워집니다. 1. NPOI 라이브러리를 설치하기 위해서 참조의 팝업메뉴에서 NeGet 패키지 관리를 클릭합니다. 2. NeGet에서 NPOI를 검색하고 설치합니다. 3. NPOI이가 설치되면 아래와 같이 참조에 추가됩니다. 4. 간단한 예제입니다. using NPOI.SS.UserModel; using NPOI.XSSF.. 2021. 2. 9.
C# 파일 유무, 복사, 이동, 삭제, 텍스트 파일 읽기/쓰기 System.IO.File 클래스에는 여러 유용한 메소드가 존재합니다. 파일 유무, 복사, 이동, 삭제를 쉽게 할 수 있습니다. 소스는 아주 간단하니 주석은 생략합니다. ^^ 1. 파일 유무 using System; using System.Diagnostics; using System.IO; namespace FileTest { class Program { static void Main(string[] args) { String filePath = @"D:\temp\test.txt"; if (File.Exists(filePath)) { Debug.WriteLine("파일 있음"); } else { Debug.WriteLine("파일 없음"); } } } } 2. 파일 복사 using System; usi.. 2021. 2. 6.
C# 폴더내의 파일 목록 특정 폴더내의 파일들을 찾는 코드입니다. 간단 하지만 자주 사용하는 코드랍니다. System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(@"c:\Windows"); foreach (System.IO.FileInfo file in di.GetFiles()) { Debug.WriteLine("파일명 : " + file.Name); } [결과] 2020. 11. 5.
C# 윈도우(창) 이름으로 핸들(hWnd) 찾기 다른 프로세스에 SendMessage 또는 PostMessage로 처리하기 위해서 핸들을 찾는 방법입니다. user32.dll의 함수를 사용해서 윈도우(창)의 이름으로 쉽게 찾을 수 있습니다. 아래의 코드를 참고하세요. using System; using System.Diagnostics; using System.Runtime.InteropServices; namespace ConsoleApp { class Program { [DllImport("user32.dll")] private static extern IntPtr FindWindow(string lpClassName, string lpWindowName); static void Main(string[] args) { IntPtr hWnd = Fi.. 2020. 11. 4.
C# 프로젝트로 생성한 EXE 또는 DLL의 실제 경로 얻기 프로젝트로 생성된 exe나 dll의 경로를 알아야 할 경우가 종종 있습니다. 작업 디렉토리(Working Directory)가 아닌 다른 폴더에 exe나 dll이 존재 하는 경우 경로를 찾아서 처리해야겠죠. exe나 dll내의 클래스를 이용하여 실제 경로를 간단히 얻어 올 수 있습니다. 코드는 아래와 같습니다. string fileName = new ClassName().GetType().Assembly.ManifestModule.Name; string filePath = new ClassName().GetType().Assembly.Location; Debug.WriteLine("파일이름 : " + fileName); Debug.WriteLine("파일경로 : " + filePath); 2020. 11. 4.
C#의 GUID & MSSQL의 Uniqueidentifier 생성하기 C#의 GUID와 MSSQL의 Uniqueidentifier 생성하는 방법입니다. 1. C#에서 GUID 생성하기 // 빈 GUID Guid emptyID = Guid.Empty; // 새 GUID Guid newID = NewGuid(); 2. MSSQL에서 GUID(Uniqueidentifier) 생성하기 SELECT NEWID() 3. Visual Studio에서 GUID 생성하기 (1) Visual Studio의 도구 메뉴 중 GUID 만들기를 클릭한다. (2) GUID 만들기 화면에서 GUID를 생성하거나 복사 할 수 있다. 2018. 2. 22.
C# 시간 차이 구하기(날짜 비교) 아래의 코드는 DateTime을 이용하여 시간의 차이를 구하는 코드입니다. 코드 상에서 작업 시간을 측정하는데 유용하게 사용할 수 있습니다. DateTime sTime = DateTime.Now; // 1초 대기 Thread.Sleep(1000) DateTime eTime = DateTime.Now; // 시간 차이 구함 TimeSpan gapTime = eTime - sTime; int diffDay = gapTime.Days; int diffHour = gapTime.Hours; int diffMinute = gapTime.Minutes; int diffSecond = gapTime.Seconds; string msg = ""; if (diffDay != 0) msg += diffDay + "일 ";.. 2018. 1. 25.
C# using-namespace-directive C#의 Namespace를 using으로 지정 할 때, Namespace가 너무 길고 동일이름의 Class에 다른 Namespace인 경우 Namespace.Class로 변수를 지정하게됩니다. 이런 경우 Namespace를 Alias처럼 사용 할 수 있는 방법입니다. [문법] // using 선언 using alias = namespace // Class 변수 선언 alias.Class class = new alias.Class(); [예제] // using-namespace-directive using PP = Microsoft.Office.Interop.PowerPoint namespace PptExample { class Program { static void Main(string[] args) {.. 2017. 6. 2.
IIS 활성화 IIS 활성화 시키는 방법입니다. 1. 제어판에서 프로그렘제거를 선택합니다. - Windows10에서 제어판을 찾기가 힘든데 아래의 포스트를 참고하세요. http://docko.tistory.com/entry/%EC%9C%88%EB%8F%84%EC%9A%B0%EC%A6%88-10-%EC%A0%9C%EC%96%B4%ED%8C%90-%EC%B0%BE%EA%B8%B0 2. 외쪽 메뉴에서 Windows 기능 켜기/끄기를 선택합니다. 3.아래와 같이 인터넷 정보 서비스에서 World Wide Web 서비스와 웹 관리 도구를 체크하고 확인 버튼을 클릭합니다. 4. 아래와 같이 설치가 진행됩니다. 5. 설치가 완료되었습니다. 6. IIS(인터넷 정보 서비스) 관리자를 확인 하기 위해서는 제어판의 시스템 및 보안을 선.. 2017. 1. 3.
TFS에서 소스 비교 시 사용자 사용 프로그램 연결하기. TFS의 소스를 비교하고 머지(Merge) 할 때 기본적으로 비주얼 스튜디오에서 제공하는 툴은 너무 불편합니다.개발자들은 WinMerge와 같은 툴을 연결해서 사용하는데 소스를 비교 할 때 다른 소스 비교 툴을 연결하는 방법을 알아보겠습니다. 1. 비주얼 스튜디오의 메뉴 Tools에서 Options...을 클릭합니다. 2. Options에서 Source Control > Visual Studio Team Foundation Server를 선택하고 Configure User Tools 버튼을 클릭합니다. 3. Configure User Tools화면에서 Add 버튼을 클릭하여 Compare 프로그램을 연결하면 됩니다. 2016. 12. 7.
Visual Studio의 Edit 창에 줄번호(Line Number) 표시하기. Visual Studio로 코딩을 할 때 각 라인의 줄번호 표시되면 편리합니다.하지만 Visual Studio에서 기본은 줄번호를 표시하지 않습니다.줄번호 표시하는 방법은 아래와 같습니다. 1. Visual Studio의 메뉴에서 Tools > Options ...를 클릭한다. 2. Options 화면에서 Text Editor > All Languages의 Line numbers를 체크하면 Edit 화면에 줄번호가 표시됩니다. 2016. 11. 23.
C# PDF 라이브러리 사이트 C# PDF 라이브러리 사이트입니다. http://pdfmosaic.com/ 2016. 11. 17.
IIS 7 MIME Type 추가하기 IIS 7에서 MIME Type 추가하는 방법입니다.관리도구에 도구에 IIS관리자가 없으면, 제어판 > 프로그램 추가/삭제 > 윈도우즈 기능에서 추가하면 됩니다.) 1. 제어판에서 관리도구(Administrative Tools)를 더블 클릭합니다. 2. IIS 관리자를 더블 클릭합니다. 3. IIS 관리자에서 MIME Type을 더블 클릭합니다. 4. 현재 등록된 MIME Type이 표시되며, 하나의 MIME Type을 선택 후 마우스 우클릭을 하면 팝업 메뉴가 표시되는 여기서 추가를 클릭하면 MIME Type을 추가 할 수 있습니다. 2016. 10. 25.
C# UI Control에 Tooltip 지정하기. 버튼, 체크박스 등에 툴팁(Tooltip)을 지정하는 방법입니다. 1. Toolbox의 Tooltip을 드래그하여 Form에 넣습니다. 2. 아래와 같이 Form의 Load Event를 생성하고, Tooltip을 지정합니다. using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace Tooltip { public partial class Form1 : Form { public Form1() { InitializeCompo.. 2016. 9. 13.
C# DataTable에서 중복 제거한 결과 얻기(Select Distinct) 데이타베이스에 쿼리를 수행하여 얻은 DataTable의 중복을 제거한 결과를 얻는 방법입니다. 쿼리에서는 Select Distinct Column1, Column2, ... From TableName과 동일 합니다. 아래의 코드를 참고하세요. //DataTable 생성 DataTable table = new DataTable(); // 컬럼 생성 table.Columns.Add("YEAR", typeof(int)); table.Columns.Add("MONTH", typeof(int)); table.Columns.Add("WEIGHT", typeof(int)); // 데이터 생성 table.Rows.Add(new object[] { 2016, 1, 10 }); table.Rows.Add(new objec.. 2016. 8. 8.