programing

'xxx.xxx.xxx ' 유형을 찾을 수 없습니다.어셈블리를 확인하십시오.

kingscode 2023. 5. 21. 15:01
반응형

'xxx.xxx.xxx ' 유형을 찾을 수 없습니다.어셈블리를 확인하십시오.

StackOverflow를 검색해보니 다른 프로젝트에서 UserControl을 참조하는 양식을 열려고 할 때 비슷한 문제가 있었습니다.

알겠습니다.

디자이너를 로드하기 전에 발생할 수 있는 데이터 손실을 방지하려면 다음 오류를 해결해야 합니다.

다음 두 가지 오류와 관련된 메시지:

'MyNamespace' 유형을 찾을 수 없습니다.커먼유이.'정보 상자'입니다.이 형식을 포함하는 어셈블리가 참조되었는지 확인하십시오.이 유형이 개발 프로젝트의 일부인 경우 현재 플랫폼 또는 모든 CPU에 대한 설정을 사용하여 프로젝트가 성공적으로 빌드되었는지 확인합니다.

그리고.

'InformationBox1' 변수가 선언되지 않았거나 할당되지 않았습니다.

InformationBox1 컨트롤의 입니다.InformationBox이는 디자이너의 양식에 있습니다. 이는 다음과 같이 참조됩니다.

Friend WithEvents InformationBox1 As MyNamespace.CommonUi.InformationBox

MyNamespace.CommonUi프로젝트가 성공적으로 빌드되었습니다.

저는 그 프로젝트에서 지식을 얻었기 때문에 그것이 올바르게 참조되고 있다고 상당히 확신합니다.

지금까지 다른 사람들과 마찬가지로:

에서 마이그레이션한 프로젝트입니다.VS2005의 NET2/x86에서 .VS2012의 NET4/x64.

솔루션이 64비트 미만으로 실행되면 작동하지 않고 디자이너 오류가 발생합니다.하지만 32비트(기술적으로 AnyCPU)로 전환하면 디자이너를 열 수 있습니다.

유사한 스레드에서 다른 제안을 읽었지만 해결책을 제공하지 못하는 것 같습니다("좌우로 이동하여 재구축" 옵션까지 수행했습니다).

빠른 수정: 문제는 Visual Studio가 기본적으로 32비트이며 일부 구성 요소(예: ListView)에 대한 GUI 편집을 64비트에서 수행할 수 없다는 것입니다.예를 들어 ListView가 있는 양식의 경우 GUI를 편집하려면 솔루션을 32비트로 변경해야 합니다.

간단히 말해서, 이 문제에 직면했을 때의 대답은 다음과 같습니다.

  1. 솔루션을 32bit 또는 AnyCPU로 변경
  2. 솔루션/프로젝트 정리 및 재구축
  3. 편집을 위해 GUI 열기
  4. 저장, 솔루션을 다시 64비트로 변경
  5. 치료 및 재구축
  6. 64비트로 실행

안타깝게도 Visual Studio는 아직 64비트로 제공되지 않으므로 모든 컨트롤을 32비트 모드(또는 AnyCPU 모드)로 설계해야 합니다.

이 질문을 참조하십시오.윈도우즈 7에서 VS 2010 디자이너 오류 'XYZ 유형을 찾을 수 없습니다'가 발생했습니다. XP에서 잘 작동합니다.

업데이트된 수정 사항: VS GUI 설계 편집기를 사용하여 64비트 환경에서 사용자 지정/32비트 컨트롤을 로드하고 편집하는 문제에 대한 적절한 수정 사항을 발견했습니다.Visual Studio 2019까지 작동합니다. VS 2022에서 설계된 편집기의 아키텍처가 변경되었기 때문에 이 기능이 계속 작동할지 확신할 수 없습니다.

Visual Studio Design Editor에는 기본적으로 64비트 설계 환경에서 사용자 지정/32비트 컨트롤을 편집할 수 없는 몇 가지 문제가 있습니다.

  1. 정의않음을 될 입니다.Toolbox64비트 대상 환경에서 모든 폼을 로드하는 경우. 중 입니다. 이 이는문중일제원에 입니다. 컨트롤이 에 표시되지 않기 때문입니다.toolboxVS가 해당 컨트롤(또는 해당 컨트롤을 확장하는 클래스)을 사용하는 폼을 로드하려고 하면 "xxx.xxx 유형을 찾을없습니다."라는 오류가 발생합니다.xxx'(도구 상자에서 해당 부분을 지정하지 않음)
  2. 도구 상자에 컨트롤이 표시되지 않는 이유 중 하나는 Visual Studio가 현재 프로젝트의 사용자 지정 컨트롤을 도구 상자에 로드하지 않기 때문입니다(자동으로 또는 수동으로 강제 적용하려고 해도).따라서 사용자 지정 32비트 컨트롤이 현재 프로젝트에 있으면 도구 상자에서 이 컨트롤을 등록하지 않으므로 편집기에서 양식을 로드할 수 없습니다.참조

여기서 해결책은 동일한 솔루션 내에 새 프로젝트를 만들고 사용자 지정/32비트 컨트롤을 해당 새 프로젝트 의 새 네임스페이스로 이동하는 것입니다.이제 Visual Studio에서 컨트롤을 보고 로드할 수 있습니다.Toolbox이 작업은 자동으로 수행되어야 하며, 선택적으로 사용자 정의 컨트롤의 공용 클래스 정의에 속성을 추가할 수 있습니다.도구 상자에 사용자 지정 컨트롤이 나타나면 Visual Studio 설계 편집기에서 어셈블리를 찾고 양식을 로드하는 데 문제가 없으며 64비트 설계 환경에서 사용자 지정 32비트 컨트롤을 편집할 수 있습니다.

저는 이런 문제가 있었습니다.디자이너 모드에서 이 양식을 컴파일, 시작, 런타임에 표시하고 다른 양식/컨트롤을 표시할 수 있음에도 불구하고 하나의 양식 디자이너 보기에서만 이 작업이 수행되었습니다.

이러한 단계는 도움이 되지 않았습니다.

  • 정리 및 재구축
  • 스튜디오 다시 시작
  • 모든 bin 및 obj 디렉토리 삭제
  • 참조 제거 및 추가
  • 거부, 분노, 협상, 우울증, 수용

경우에 대한 솔루션:

  1. 누락된 형식의 이름을 바꿉니다(예: InformationBox => InformationBox2).
  2. 디자이너 새로 고침 (WOW, 작동합니다!)
  3. 형식 이름을 초기 이름으로 변경

CPU를 X86으로 변경합니다.컨트롤이 32비트이며 64비트 시스템에서 실행하려고 하지만 64비트 버전의 컨트롤을 찾을 수 없습니다.

여기 몇 가지 추가 정보가 있습니다. 디자이너는 플랫폼과 함께 보여줄 수 없습니다. x64

또한 설계자에게 액세스하려고 할 때 AnyCPU에서 실행할 수 있는 해상도는 우리의 목적을 위해 해결책입니다.

저는 최근에 VB와 같은 오류를 겪었습니다.하는 사용자 WinForm User Control과 원인이 위해 했습니다. Net in Visual Studio 2013에서는 WinForm User Control을 사용합니다. 실원인무알지아위기약작수다니습행했업을간의해제보엇인이▁다▁in니▁▁neither. 에는 기본 변수가 생성자를 가지고 않았습니다입니다).제 경우에는 기본 클래스나 하위 클래스 모두 매개 변수가 없는 생성자를 가지고 있지 않습니다(이 경우에는 유효한 시나리오가 아니기 때문입니다).
빈 .예외로 인해 표시할 수 없는 다른 문제가 발생했습니다.예쁘지는 않지만 효과가 있습니다.

이 스레드 질문에 나열된 오류를 통해 기본 오류를 확인하려면 다음을 수행해야 했습니다.

  1. 전체 용액 청소
  2. Visual Studio 닫기
  3. Visual Studio 다시 열기
  4. 솔루션 다시 열기
  5. 솔루션 탐색기에서 마우스 오른쪽 단추를 클릭하여 솔루션 구축(재구축하지 않음, 작동하지 않음)
  6. 디자이너 모드에서 사용자 컨트롤을 보고 실제 오류가 지금 표시됩니다.

컨스트럭터를 추가한 후, 나는 그것이 제대로 작동하기 위해 위의 단계를 다시 밟아야 했습니다.

여러 프로젝트가 있는 대규모 솔루션을 AnyCPU에서 x64 플랫폼을 대상으로 변경했습니다.다른 프로젝트 중 하나에서 컨트롤을 참조하는 솔루션 양식 중 하나의 디자이너를 열려고 시도했지만 OP와 동일한 오류 메시지가 표시되었습니다.컨트롤이 포함된 프로젝트를 열었지만 여전히 AnyCPU를 대상으로 합니다.x64로 저장하려고 한 시간 동안 시도했지만 실패했습니다.결국 저는 메모장에서 csproj 파일을 열고 AnyCPU를 x64로 교체했고 모든 것이 작동하기 시작했습니다.이것이 저처럼 좌절한 다른 누군가에게 도움이 되기를 바랍니다.

프로젝트를 저장하고 닫은 후 다시 열기만 하면 됩니다.

최근 VS 2015에서 사용자 지정 컨트롤(C#) 중 하나에서 동일한 문제가 발생했습니다.

솔루션을 클리닝(Build -> Clean Solution)한 후 전체 솔루션을 재구축하여 해결했습니다.모든 것이 순조롭게 돌아왔습니다.

내 프로젝트 설정의 플랫폼 대상이 이미 "임의의 CPU"로 설정되어 있고 "32비트 선호" 확인란이 선택되어 있습니다.하지만 왜 그런 일이 일어났는지는 확실하지 않습니다.

저는 VS 2022 RC에 있었고 여기와 다른 웹사이트에 나열된 가능한 모든 것을 시도했습니다.

나에게 유일한 해결책은 VS 2019로 돌아가는 것이었습니다.

32비트 등에 대한 많은 언급이 있지만, 저에게 효과적인 단계는 다음과 같습니다.

  • 사용자 컨트롤에 대한 모든 참조(예: 'InformationBox1 as InformationBox')를 'MyNamespace'와 같은 정규화된 클래스 참조로 변환합니다.커먼유이.모든 designer.vb 파일에 있는 'InformationBox'입니다.

    • 클린 솔루션

    • 솔루션 재구성.

제 경우 VB6에서 VS2008로의 마이그레이션 프로젝트였고 두 환경 모두 32비트였으며 동일한 시스템에서 64비트가 포함된 징후는 없었습니다.

64비트 프로젝트와 별도의 프로젝트에서 UI를 제어하고 CPU를 설정하여 실행해야 한다고 생각합니다.64 버전으로 치료 및 재구축하지 않는 데 도움이 됩니다.

Visual Studio 디자이너가 x64 어셈블리를 로드할 수 없기 때문에 x64용으로 컴파일하는 경우 이 문제가 발생합니다.Visual Studio의 디자이너는 32비트 전용 프로세스이기 때문에 x86 어셈블리만 로드할 수 있습니다.

  1. 모든 CPU로 변경할 수 있습니다.
  2. x86용으로 빌드하면 Visual Studio 디자이너가 어셈블리를 로드하여 설계 시 컨트롤을 표시할 수 있습니다.
  3. x64 어셈블리를 사용하여 설계하지 말고 배치 또는 Visual Studio에서만 빌드한 다음 AnyCPU 또는 x86으로 다시 전환합니다.

모든 CPU로 변경할 수 있습니다.

Project => properties => Build

플랫폼 대상:로 변경Any CPU

치료 및 재구성, 설계 파일을 다시 엽니다.

저도 같은 문제를 가지고 있으며 다음과 같이 해결했습니다.

  1. 비주얼 스튜디오에서 솔루션 속성으로 이동합니다.
  2. '플랫폼'을 '모든 CPU'로 변경합니다.
  3. 솔루션을 재구성하는 중입니다.
  4. 비주얼 스튜디오를 다시 시작하는 중입니다.

저는 이것이 정말 오래된 질문/문제라는 것을 알고 있습니다.하지만 최신 VS 2022(Preview)는 이제 네이티브 64비트이며 64비트 애플리케이션을 구축할 때 x64 디자이너 모드에서 사용자 지정 객체를 처리할 수 있다는 점을 알아야 한다고 생각했습니다.

https://devblogs.microsoft.com/visualstudio/visual-studio-2022/ #:~:text=Visual%20Studio%202022%20%20은 %2064이며 %20 실행 중인 %20 메모리의 %20 out%20을 사용하지 않습니다.

여기선 아무 것도 효과가 없었어요.그리고 나서, 저는 문제가 있는 디자인 페이지가 포함된 프로젝트를 방금 언로드했습니다.다시 로드하고 솔루션을 청소한 후 솔루션을 다시 구축했습니다.그 디자이너는 마법처럼 돌아왔습니다.

용액 특정용즉액즉(액,.sln. 스럽게 하는 것 있습니다. Designer를 혼란스럽게 하는 것 같습니다.저는 비주얼 스튜디오-17.0.4를 사용하고 있습니다.다음 오류가 발생합니다.

'시스템' 유형을 찾을 수 없습니다.창문들.Forms.UserControl'을 선택합니다.이 형식을 포함하는 어셈블리가 참조되었는지 확인하십시오.이 유형이 개발 프로젝트의 일부인 경우 현재 플랫폼 또는 모든 CPU에 대한 설정을 사용하여 프로젝트가 성공적으로 빌드되었는지 확인합니다.

문제의 유형은 다음과 같습니다.System.Windows.Forms.UserControl내 개발 프로젝트의 유형이 아닌 제공된 프레임워크 유형.는 참합니다고를 참조하고 있습니다.System.Windows.Forms .net-4 및 net-4.6 및 AnyCPU를 대상으로 합니다.프로젝트는 오류 없이 잘 구축되며 IntelliSense도 그 유형에 대해 알고 있습니다.디자이너가 IntelliSense와는 다른 방식으로 종속성을 로드하려고 할 수 있습니다.하지만 그것은 왜 실패하고 있는지를 알아내기에 충분한 정보를 저에게 주지 않습니다.

모든 정상적인 결심들이 저에게 효과가 없었습니다.하지만 Designer가 가끔 로드되는 것을 발견했습니다.추가 실험 결과, 다른 프로젝트에서 먼저 Designer를 열려고 하면 솔루션을 열 때 열려 있는 편집기 창이 없는 프로젝트 내에서 Designer가 로드됩니다.비주얼 스튜디오를 다시 시작하지 않고 프로젝트를 언로드 및 다시 로드하거나 모든 창을 닫는 것만으로는 충분하지 않습니다.저와 같은 문제가 발생하는 경우 다음 단계를 엄격하게 따르십시오.

  1. Visual Studio에서 솔루션을 엽니다.
  2. winforms Designer 파일이 포함된 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 언로드(L)를 선택하거나 메뉴 작업 창 / 모든 탭 닫기(M-wl)를 사용하여 모든 창을 닫습니다.
  3. Visual Studio를 종료합니다.
  4. Visual Studio에서 솔루션을 엽니다.
  5. 다른 프로젝트의 파일에서 디자이너를 열어 보십시오.로드에 실패해야 합니다.
  6. 이전에 프로젝트를 언로드한 경우 언로드된 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 프로젝트 다시 로드(L)를 선택합니다.
  7. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 재구성을 선택합니다.
  8. 여러 프로젝트에서 재구성을 실행한 경우 나중에 모든 프로젝트를 선택하고 빌드를 선택해야 합니다.
  9. 해당 프로젝트의 winforms Designer 파일을 두 번 클릭합니다(입력).디자이너가 성공적으로 로드되어야 합니다.

여러 프로젝트에서 winforms Designer 파일을 편집해야 하는 경우 단일 프로젝트 대신 여러 프로젝트를 언로드한 다음 로드/빌드해야 할 수 있습니다.

이 솔루션은 일시적입니다.프로젝트 컨테이너 winforms Designer 파일을 먼저 언로드하지 않고 Visual Studio를 닫으면 절차를 다시 수행할 때까지 이러한 winforms Designer 파일을 더 이상 열 수 없습니다.

100% DPI를 사용하지 않는 경우 3단계와 4단계를 100% DPI 모드로 Visual Studio를 다시 시작하는 것으로 바꿀 수 있습니다.다음 단계는 winforms Designer 파일을 아직 열지 않은 경우에만 작동합니다(100% 프롬프트는 처음 여는 winforms Designer 파일에 대해서만 표시됨).

  1. 다른 프로젝트에서 winforms Designer 파일을 두 번 클릭합니다.로드에 실패할 수도 있지만 이 Visual Studio 세션에서 연 첫 winforms Designer 파일인 경우 다음과 같은 메시지가 표시됩니다.

    메인 디스플레이의 스케일링은 175%로 설정됩니다.Visual Studio를 100% 확장하여 다시 시작합니다. 결정하는 데 도움이 됩니다.

  2. 100% 스케일링으로 Visual Studio 다시 시작 옵션을 선택합니다.

참고 항목: 프로젝트 어셈블리(아카이브)에 대한 설명.실험할 때 VisualStudio에서 이전 버전의 어셈블리를 로드하고 캐시했으므로 지정 가능한 컨트롤에서 사용하는 컨트롤을 업데이트하는 경우 VisualStudio를 다시 시작해야 하는 경우가 있습니다.

언급URL : https://stackoverflow.com/questions/19009386/could-not-find-type-xxx-xxx-xxx-please-make-sure-that-the-assembly

반응형