본문 바로가기

반응형

Programming/.NET

(10)
.NET Framework history .NET 1.0 CLI(Command Line Interface) 구현체 -> CLR(Common Language Runtime) CLS(Commom Language Specification) 구현체 -> C#, Visual basic CLR의 대표적인 기능 JIT 컴파일 GC 메모리 관리 C# 1.0 형식 안정성 Delegate (c++ 함수 포인터) Native 코드 연동성 (dll import) .NET 2.0 Generic Nullable Clickonce C# 2.0 CLR 의존 Generic 추가 CLR 및 .NET BCL 의존 Nullable 타입 간편 표기 구만 Partial Class .NET 3.0 WPF WCF WF(Workflow Foundation) WCS(Windows CardS..
MSTest vs NUnit compare unit test framework .NET .NET 환경에서 사용할 수 있는 대표적인 유닛 테스트 프레임워크 두 가지 간단 비교 MSTest vs NUnit 공통점 .NET Framework를 타겟으로 한다. Unit Test를 목적으로 한다. SUnit(Smaltalk's testing framework)로 부터 유래되었다. Group fixtures를 지원한다. Data generator를 지원하지 않는다. Mocks 서비스를 지원한다. (서드파티 라이브러리를 설치해야 함) 차이점 MSTest CC BY 3.0 라이센스를 따른다. MS 기술을 사용하는 시스템에 보다 최적화되어있다. 업데이트가 상대적으로 적다. (VS 버전당 하나) 느리다는 평이 많다. Reflection을 지원한다. NUnit MIT 라이센스를 따른다. 오픈소스 프레임워크이다..
C# .NET Custom CultureInfo and satellite assemblies 아래처럼 Custom CultureInfo를 추가해야 하는 경우가 있다. 태국에 영어로 서비스를 지원하고 싶어 리소스파일(resx)을 추가하려 하는데 해당하는 culture info(en-TH)가 기본적으론 없는 경우 culture info를 직접 추가하는 방법은 다음과 같다. var culture = new CultureAndRegionInfoBuilder("en-TH", CultureAndRegionModifiers.None); culture.LoadDataFromCultureInfo(CultureInfo.CreateSpecificCulture("en-US")); culture.LoadDataFromRegionInfo(new RegionInfo("th-TH")); culture.Register(); ..
.NET CurrentCulture vs CurrentUICulture 현재 Thread에서 문화권 정보를 설정하거나 CultureInfo 객체로부터 문화권 정보를 가져오려고 하다 보면 헷갈리는 두 가지가 있다. CurrentCulture와 CurrentUICulture이다. CurrentCulture는 숫자 및 날짜 형식 등을 제어하고 CurrentUICulture는 인터페이스 언어를 나타낸다(Localization과 관련이 있다.) 아래와 같이 설정한 스레드에서 돌아가는 프로그램을 생각해보자 Thread.CurrentThread.CurrentCulture = new CultureInfo("ko-KR"); Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US"); 해당 프로그램에서 돈을 표시할 일이 있다면 Curren..
.NET Clickonce localization과 게시 언어 정리 1. 필요에 의해 게시할 프로그램의 '게시 언어'를 설정해야 할 때가 있다. 2. '게시 언어'를 설정하면 응용 프로그램 매니페스트의 assemblyIdentity 중 language값이 설정한 값으로 변경된다. (default는 neutral) 2-2. 글의 주제가 localization과 관련이 있는 만큼 다국가 지원을 위해 게시 툴을 별도로 만들어 사용한다면 아마 내부적으로 MSBuild를 많이 사용할 텐데 빌드 시에 TargetCulture값을 옵션으로 주면 '게시 언어'를 설정할 수 있다. msbuild.Build($@"""{projectFilePath}"" /t:build;publish /p:Configuration=Release;PublishDir={publishPath};TargetCult..
ClickOnce Application debugging .NET 클릭원스 디버깅 ClickOnce 배포 방식을 커스터마이징 하거나 배포 단계에서의 정보를 프로그램에서 써야 할 때 디버깅이 필요하다. ref : https://msdn.microsoft.com/en-us/data/ms228671(v=vs.85) 그럴 때 System.Deployment.Application를 사용하여 필요한 정보를 가져오고 설정할 수 있다. (예를 들면 설치 후 앱의 첫 실행 시에만 어떠한 작업을 하고 싶을 때 아래와 같이 간단히 첫 실행 여부를 체크할 수 있다. if (ApplicationDeployment.CurrentDeployment.IsFirstRun) { // Do something } 다만 문제는 해당객체접근이 ClickOnce로 배포된 상태에서만 가능하다는 것이다. 즉, 일반적으로 디버깅이..

반응형