Microsoft MVP성태의 닷넷 이야기
글쓴 사람
이성열 (sylee at ict-lab.com) donator
홈페이지
첨부 파일
(연관된 글이 1개 있습니다.)

안녕하세요.
요즘 프로젝트를 wpf로 작업하고 있는데 쉽지 않네요 ㅎ
vs2019를 사용중이고요. 메인 프로그램은 x64, UserControl dll은 x64 또는 AnyCPU로 빌드해서 테스트 해봤습니다.
메인 프로그램을 AnyCPU로하면 디자이너에서 잘 보이던 컨트롤 속성이
x64로 전환하면 디자이너 화면에 안보이는 문제가 있는데.. user control dll을 x64로 하든지 AnyCPU로 해도 마찬가지입니다.
혹시 이 부분에 대해서 원인이나 해결할 방법 아시면 도움 말씀 부탁드립니다.


이해 안되실듯 하여 문제 상황을 동영상으로 만들어봤습니다.
https://www.youtube.com/watch?v=m7wFzBIXn9E

프로젝트 소스 파일을 첨부했습니다. (프로젝트 2개).
동영상과 코드가 다른 것은 DependencyProperty로 해결이 될까해서 한번 테스트해본 것이 있습니다.
동영상에서는 Description 속성을 그대로 사용했고요.


성태님이 올린 게시판 글 중에는 다음 내용이 가장 비슷한 내용인데
https://www.sysnet.pe.kr/2/0/12602
winform과 wpf 차이와 dll을 AnyCPU로 해도 마찮가지라는 점이 차이가 있네요.





[연관 글]






[최초 등록일: ]
[최종 수정일: 7/13/2021]


비밀번호

댓글 작성자
 



2021-07-07 01시09분
[이승준] https://www.sysnet.pe.kr/2/0/12602
정성태님이 이미 관련 문제를 다룬적이 있습니다.
[guest]
2021-07-07 01시15분
승준님 본문에도 그 게시물에 대해 언급 했습니다만
dll 유저 컨트롤 프로젝트 부분을 AnyCPU로 해도 문제가 나타나서 질문을 드린 사항입니다.
이성열
2021-07-07 01시39분
재미있는 문제군요, 그렇다 해도 아마 (분석하지 않은 내부적인 요인에 의해) 그 문제도 "https://www.sysnet.pe.kr/2/0/12602" 글과 유사한 문제일 듯합니다. 12602 글의 경우 아예 exception을 발생시켜 디자이너가 실패했지만, Property 정도는 32비트 devenv.exe 내에서 64비트 (디자인이 아닌) 내부 코드를 실행시키는 과정에 오류가 발생했거나... 아니면 아예 실행을 안 시켰을 것입니다.

그래도 이것을 우회할 수 있는 방법이 있긴 합니다. 현재 Visual Studio 2019의 경우 "Tools" / "Options" 메뉴의 "Environment" / "Preview Features" 범주에 보면 "New WPF XAML Designer for .NET Framework (requires restart)" 기능이 제공되고 이를 체크해 Visual Studio를 재시작하면 정상적으로 디자인이 됩니다.

아니면, 약간 시기상조이지만 Visual Studio 2022 Preview 버전("https://www.sysnet.pe.kr/2/0/12683")을 설치하는 것도 고려할 수 있습니다.
정성태
2021-07-07 01시54분
[이승준] 원인은 정성태님글의 내용일겁니다.
다만 이건 약간 버그성인듯 한것이
속성에서 Any CPU의 32비트 기본사용을 체크 해제하면 정상적으로 뜹니다.
64비트로 개발하시면서 디자이너를 보시려면 이렇게 하셔야 할것 같습니다.
[guest]
2021-07-07 01시59분
승준님/ 네. 위에 성태님도 쓰셨듯이 원인은 비슷할것 같고요. dll 프로젝트에서 AnyCPU로 설정했을때는 메인 프로젝트를 따라가기 때문에 32비트 기본이 체크가 안됩니다.
제 vs2019에서는 그런데 혹시 다른 버전은 모르겠지만요. 성태님이 말씀하신 옵션을 찾아보고 안보여서 vs 2019 업데이트 중입니다.
이성열
2021-07-07 02시39분
[이승준] dll은 원래 32비트 기본사용 디저블 되 있습니다.
메인만 체크해제하면 됩니다.
[guest]
2021-07-07 02시45분
승준님/ 제 글을 다시 보시면 기본 문제가 메인 프로그램을 x64로 했을때의 문제이기 때문에 메인을 AnyCPU로 하면 체크옵션과 상관없이 원래부터 아무 문제가 없었습니다.
이성열
2021-07-07 02시45분
성태님이 알려주신 옵션으로 잘 보이는 것을 확인했습니다. 감사합니다 ^^
이성열
2021-07-13 07시20분
아래의 방법을 사용하셔도 문제를 해결할 수 있을 것입니다. ^^ (편하신 것으로.)

x64 DLL 프로젝트의 컨트롤이 Visual Studio의 Designer에서 보이지 않는 문제 - 두 번째 이야기
; https://www.sysnet.pe.kr/2/0/12705
정성태
2021-07-13 08시00분
지난번에 알려주신 옵션으로 아주 잘 사용하고 있습니다.
새로운 WPF XAML 디자이너 옵션을 켜 놓고 사용해보니 Visual Studio가 좀 버벅거린다는 느낌을 살짝 받고 있었는데 (질문은 아닙니다^^)
이렇게 다른 대안까지 제시해 주시니 다시 한번 감사드립니다.
저도 빌드이벤트는 적극적으로 사용하고 있는데, 이렇게도 사용할 수 있다니 아이디어가 좋네요^^
이성열

1  2  3  4  5  6  7  8  9  10  [11]  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5671한예지 donator5/20/20224916델리게이트와 함수포인터 선언 시, 차이점 질문 있습니다. [3]
5670유필재5/20/20225035c#에서 현재프로그램에서 사용한 인터넷사용량 측정이 가능한가요? [3]
5669한예지 donator5/19/20223940이벤트 접근 제한자 질문 있습니다. [2]
5667ocm5/14/20224107c# 콜백 메서드 [2]
5666김호영5/13/20224689c# winform에서 svg 이미지 사용 [1]
5665장성욱5/11/20224459C# 타이머 관련 질문 [5]
5664차가워5/11/20224369아스키로 구성된 바이트를 long으로 변환 문의 [1]
5663김석규5/11/20223919VSTO를 이용해 엑셀데이터를 저장할때, 최종 입력값을 인식하지 못합니다. [2]
5662한예지 donator5/10/20223838혹시 사이트 회원가입은 어떻게 하는 것인가요? [1]
5661한예지 donator5/10/20223948for문 안에 await가 있는 경우 질문드립니다. [3]
5660tky5/10/20223872특정 작업을 멀티스레딩으로 처리 할 경우 어떤 방법이 가장 효율적일까요? [2]
5659한예지 donator5/9/20224415Task, TaskAwaiter 질문 있습니다. [3]
5658한예지 donator5/9/20224589교재 689, 690쪽(async/await) 질문입니다. [5]
5657C#초보5/8/20223997초보 단순 질문 입니다.,ㅠ [1]
5656부탁드립...5/6/2022533532bit dll 을 64bit dll 화 [2]
5655감사합니...5/5/20225499UI 스레드 관련 질문드립니다. [4]파일 다운로드1
5653고석주5/3/20224220첨부된 이미지처럼 dll 을 어떻게 추가해야 하는지 문의드립니다. [1]파일 다운로드1
5652감사합니...5/2/20223925프로그램 종료되면 리소스(관리, 비관리)는 알아서 해제 되나요? [2]
5651윤식4/26/20224196상속 구조 관련 질문드립니다. [8]
5650김기헌4/19/20224070WPF 리소스 관련 질문드립니다 [3]
5649주니어4/15/20223873ffmpeg 질문 있습니다! [2]
5648주니어개...4/13/20223808컴파일된 코드를 원시코드로 바꾸려면 어떻게해야하나요? [1]파일 다운로드1
5647장성욱4/7/20223852코어지정 CPU사용률 관련 질문 [1]
5646서형주4/6/20223859List에 여러개의 class 객체를 만들어 넣을때, 객체의 method들도 같이 생성되어 메모리를 차지하나요? [1]
5645김인태4/6/20223500윈도우즈 서버의 AD 계정 생성 조건이 있을까요? [1]
5644ㅇㅇ4/6/20224242c# 프로그램을 이용하여 리눅스상에 파일 생성이 가능한가요? [1]
1  2  3  4  5  6  7  8  9  10  [11]  12  13  14  15  ...