SettingUI : https://ghost1372.github.io/settingsui/

2022년 7월 25일 기준 SettingsUI의 Nuget 버전은 2.1.6이다. 이걸 이용해서 .Net6 용 WPF를 프로젝트를 만들고 nuget을 추가 후 바로 빌드하면 빌드 안될수 있다. 내가 발생한 부분에 대한 내용 및 해결방법을 정리한다.

1. nuget 자체가 설치 안될수 있다

이건 다른사람은 가능할 수 있다. 현재 작업환경이 윈도11(개발자 프리뷰)인데 그러다 보니 버전이 안맞아 생기는 문제로, 이는 프로젝트의 최소 OS 지원버전을 경고창에 나오는대로 맞춰주면 넘어간다.

대충 10.0.19041로 해주면 된다

2.  SettingUI의 icon을 찾을수가 없다?

nuget이 다운로드된 경로 이하에 icon이 없어서 실행이 안된다는 경고가 뜰수 있는데, 해당경로는 아래와 같다. (위에서 10.0.19041 버전을 설정했을 경우)

C:\Users\Admin\.nuget\packages\settingsui\2.1.6\lib\net6.0-windows10.0.19041

그럼 그 이하에 원하는 경로에 맞게 

SettingsUI\Assets\icon.png 파일을 넣어주면 된다. 폴더와 파일이 아예 없어서 발생하는 문제이니 일단 아무 128짜리 그림파일 하나 놔두면 된다.

일단 여기까지...

현재 윈도11을 사용중인데 맥의 매직키보드를 구입해서 사용중이기도 하다

이럴때 윈도우키, Ctrl, Alt, 한/영 키가 바뀌어 있어서 조금 번거로울때가 많은데 이럴때는 powertoy의 KeyboardManager를 이용하여 키 매핑을 하면 굉장히 쉽다.

심지어 한글이라 큰 어려움도 없을것이며, '키 다시 매핑'을 눌렀을때 설정하는 화면도 굉장히 간단하다.

 

하지만 키를 굉장히 빨리 눌렀을때 해당 키를 매핑된 키가 아닌 본래키로 인식하는 문제가 생길 수 있는데, 

레지스트리를 변경하는게 아닌건지 조금 의심스럽긴 하다.

어쨋든 강추

시계열로 설정 후 데이터는 Bson 계열로 넣게 되는데, 이때 c#에서는(이미 collection까지 연결확인 됐다고 치고)

json형식인
{
key1 : value1,
key2 : value2
}

의 형태로 bson을 구성하면 된다.

일단 시계열일때 time의 값을 'time'으로 설정하고 C#의 DateTime 형식을 그대로 사용할수 있는데 아래의 코드처럼

이후 collection.InsertOne(doc); 호출

하면 데이터가 완성된다.

그리고 key1, key2로 표현되는 데이터 쪽은 리스트나 배열일 경우 BsonArray 등으로 json의 형태처럼 그대로 구성하면 된다. 

+ Recent posts