C#

· C#
개발 중 높은 권한을 요구하는 작업이 필요한 경우, Visual Studio를 관리자 권한으로 실행하거나, WPF 애플리케이션을 항상 관리자 권한으로 실행되도록 설정해야 할 때가 있습니다. 이번 글에서는 Visual Studio 2022와 .NET 8 환경에서 이러한 설정을 적용하는 방법입니다.   Visual Studio 에서 관리자 권한으로 컴파일 / 실행하는 방법   Visual Studio를 관리자 권한으로 실행하기간단한 방법으로 Visual Studio 자체를 관리자 권한으로 실행하면 Visual Studio에서 개발 중인 S/W 또한 관리자 권한으로 실행되게 됩니다. (1) 한 번만 관리자 권한으로 실행하기시작 메뉴를 엽니다.Visual Studio 아이콘을 찾아 마우스 오른쪽 버튼을 클릭합니..
· C#
UI를 개발하다 보면 문자열을 많이 사용할 수밖에 없는데 별생각 없이 코딩하다 여기저기 너저분한 문자열들을 볼 수 있게 됩니다. 여기서는 존댓말, 저기서는 반말, YES일 때도 있고 OK 일 때도 있습니다. 여러 번 사용되는 문자열은 가급적 runtime 코드 외부로 빼는 것이 유리합니다. 몇 가지 방법에 대해 공유합니다.   고정 문자열 관리  const절대 변경되지 않는 문자열일 경우, const가 적절합니다.public static class Messages{ public const string ErrorFileNotFound = "The file not be found."; public const string SuccessMessage = "완료.";}Console.WriteLine(M..
· C#
C#에서는 배열형보다는 List를 많이 쓰게 됩니다.특히 문자열에서는 byte배열보다 훨씬 편리한 string 클래스를 많이 쓰죠.문자열은 string으로 모든 작업이 가능하지만 데이터 통신(Serial, TCP 등)을 할 때는 byte[]를 사용해야 하는 경우가 있습니다. 송수신을 byte 단위로 하기 때문입니다.   그런데 UI에 보여주거나 Log를 남길 때, 사용자 입력을 받는 등 문자열데이터를 송신할 때는 byte[], string 간 변환이 필요할 때가 많습니다.은근히 많이 사용하고 간단한 코드이지만 막상 사용하려고 할 때 생각이 잘 안 나는 코드이기도 하죠.     ✅ string을 byte[]로 변환string tempString = "TestData";byte[] bytes = Encodi..
· C#
✅ CS8602 경고 null 가능 참조에 대한 역참조입니다. 무슨 말인지 해석하기도 어려운 오류입니다. 마이크로소프트의 공식 문서를 찾아봐도 이해할 수 없습니다. 오늘 언급하는 내용은 일반적인 문법의 오류는 아니고 nullable이 적용되면서 발생하는 현상이라고 봅니다. nullable은 null로 인한 오류를 막기 위해 C#에 도입된 개념인데 참 피곤한 녀석이죠. 그렇다고 무시하기엔 찝찝합니다. 아래와 같은 코드가 있습니다. internal class Program { public class TestClass { private bool _isbool; public bool Isbool { get => _isbool; set => _isbool = value; } public TestClass() { ..
· C#
티스토리 블로그 점수가 너무 낮아서 개선사항을 보니 이미지 포맷을 차세대 포맷으로 사용하면 좋다고 합니다. 차세대 이미지 포맷 중 WebP라는 포맷을 사용해보려고 했는데 은근히 변환이 까다롭습니다. 그래서 C#으로 구현하기 위해 방법을 찾아보고 공유합니다. ✅ libwebp.dll를 사용한 WebP 변환 구글에서 제공하는 WebP 라이브러리를 사용합니다. (WebP이 구글에서 만든 포맷입니다.) libwebp.dll라이브러리는 C또는 C++로 만들어진 라이브러리이기 때문에 P/Invoke 방식으로 사용할 수 있습니다. DllImport [DllImport("libwebp.dll", CallingConvention = CallingConvention.Cdecl)] private static extern i..
· C#
.NET Framework 때는 NLog의 설정을 소스 코드에서 하거나 NLog.config, app.config 파일을 사용했습니다. .NET core부터는 프로젝트 설정 파일로 app.config 파일을 사용하지 않고 appsettings.json 파일을 사용하는데 NLog에 적용하려니 조금 불편합니다. 이번 포스팅은 appsettings.json파일로 NLog 설정을 하는 방법입니다. ✅ .NET 7 에서 NLog 사용하기 app.config -> appsettings.json으로 바뀐 부분도 있지만 nuget에서 NLog를 찾아보면 NLog.Config 패키지가 더 이상 지원되지 않는 패키지라고 나옵니다. 파일에서 설정하는 방식을 사용해야 배포 후 Log 설정 변경 등이 수월하기 때문에 되도록이면..
YUNYUN3915
'C#' 카테고리의 글 목록