패키지 Window10 IoT를 시작하지 못했습니다


11

C #에서 Raspberry Pi 2 B 용으로 개발 된 헤드리스 앱이 있습니다.

Visual Studio에서 앱을 제대로 디버깅 할 수 있습니다. 워크 스테이션과 보드 사이에 이더넷 케이블이 직접 연결되어 있습니다. 브라우저에서 다음을 탐색 할 때 : minwinpc:8080/AppXManager.htm설치된 앱 목록에서 원하는 프로그램을 볼 수 있습니다. 나는 그것을 제거하고 VS에서 재 빌드 / 재배치하려고 시도했으며 응용 프로그램은 떠나고 목록에서 돌아옵니다. 따라서 현재 버전을 알고 있습니다.

문제는 웹 GUI에서 "시작"할 수 없다는 것입니다. 내 앱을 선택하고 다음과 같은 오류가 발생합니다.

Failed to start package BlinkyHeadlessCS-uwp_q8jk9dv1tcdg!App

웹 UI에서 시작하도록 깜박임 프로그램을 설정 한 다음 부팅 후 자동으로 실행되도록하려면 어떻게해야합니까?


앱 시작시 예외가 발생해야합니다. 불행히도 MS는 이것으로 유명하며, 특히 그들이 만든 모든 새로운 기술에서 오류 제어에 대한 할당량을 줄였습니다. 빌드 디버그가 아닌 원격 디버그가 도움이 될 수 있습니다. 지금 IoT를 설정하고 약간의 소리를 낼 것입니다. 코드를 공유하고 싶을 때 시도하고 도울 수 있습니다. 나는 .NET에 대해 수년간의 경험이 있습니다. 또는 어딘가에 스택 덤프에 액세스하십시오.
— Piotr Kula

앱을 자동 시작하려면 powershell을 사용하고 일부 레지스트리 설정을 설정해야합니다. 앱을 받으면이 질문에 대답하고 시도합니다.
— Piotr Kula

다이어그램에 감사드립니다 ... "Do Not Launch ..."상자를 확인하는 아래 단계를 수행 한 후 발생하는 오류는 출력 유형 'Windows Runtime Component'가 하나 이상의 프로젝트 대상에서 지원되지 않습니다.
— fifamaniac04

x86이 아닌 팔이 선택되어 있는지 확인하십시오
— Piotr Kula

여기에 설명 된대로 직렬 포트를 사용하여 디버그 할 수 있습니다.하지만 그렇게하는 합리적인 데이터의 양이 확실하지 않습니다. ms-iot.github.io/content/en-US/win10/Windbg.htm
— Piotr Kula

답변:


10

우후 !!!!

알았어요. 마침내 드디어 얻었습니다.

이것은 하나의 Headless 앱만 배포하여 저에게 효과적이었습니다.

1 단계 : 관리자 권한으로 Powershell 열기

2 단계 :이 명령으로 보드에 연결합니다. net start WinRM... 참고 랩탑에서 라즈베리 파이 2 보드로 직접 이더넷 케이블이있었습니다. 참고 VS를 이미 실행하고 있다면 이미 연결을 설정했음을 알려줍니다 ...

3 단계 : powershell에서 다음을 실행하십시오 Set-Item WSMan:\localhost\Client\TrustedHosts -Value minwinpc... 장치의 기본 이름을 그대로 두었습니다. 참고 메시지가 표시되면, 유형 'Y'

4 단계 : Enter-PSSession -ComputerName minwinpc -Credential minwinpc\Administrator... 참고 암호를 입력하라는 메시지가 표시됩니다 ... 기본값을 가정하고 "p @ ssw0rd"를 입력하십시오 (예, 대소 문자 구분).

5 단계 : 잠시만 기다려주십시오 ... 시간이 조금 걸립니다 ...

6 단계 : powershell에서 프롬프트에 장치 이름이 표시됩니다. 다음 명령을 입력하십시오. IotStartup remove

7 단계 : powershell에서 ... type : IotStartup list... 이것으로 기본 설정하려는 헤드리스 앱의 이름을 가져옵니다.

8 단계 : Powershell에서 ... 유형 : IotStartup add headless <the-exact-full-name-of-the-headless-app-here>

9 단계 : powershell에서 ... 유형 : setbootoption headless.... 성공하면 재부팅하라는 메시지가 표시됩니다.

10 단계 : powershell에서 ... 유형 : shutdown /r /t 0... 장치가 즉시 재부팅됩니다.

-완료 .... 여기에서 앱이 시작될 때까지 기다리십시오! 나는 간단한 LED 프로그램을 가지고 있었고 재부팅 후 결국 자체적으로 시작했습니다.


이 방법도 사용할 수있었습니다. Microsoft는 웹 UI에서이를 수행하지 못하게하는 기본 문제를 해결해야합니다.
— Jamie Keeling

1

Visual Studio에서 앱에 연결할 수 있습니다. (디버그 만, 릴리스가 작동하지 않는 것 같습니다)

  • 프로젝트의 소스 코드로 Visual Studio 열기
  • 솔루션 탐색기의 프로젝트에서 마우스 오른쪽 버튼을 클릭하십시오.
  • 디버그로 이동
  • 틱 Do not launch, but debug my code when it starts
  • 저장
  • "원격 컴퓨터"에서 실행을 클릭하십시오.
  • 앱을 배포하지만 실행하지는 않습니다.
  • 따라서 Pi에서 또는 WebGui를 통해 실행하면 Visual Studio에서 오류가 발생하여 무엇이 잘못되었는지 더 잘 알 수 있기를 바랍니다.

디버깅하는 동안 앱이 예외 중단 점에 도달하지 않았지만 여전히 오류가 발생하면 다른 오류가 발생합니다. SD 카드가 파일을 손상 시켰을 수도 있습니다. 다른 SD 카드와 새로 설치해보십시오

자동 시작 앱

WebGui Now를 통해이 작업을 수행 할 수 있습니다

여기에 이미지 설명을 입력하십시오

또는 SSH 또는 Powershell을 사용하여 IoT powershell 명령 행에 연결할 수 있습니다. SSH가 더 쉽다고 생각합니다.

  • 설치된 앱을 나열하고 선택적으로 필터로 앱 이름을 제공 할 수 있습니다.
  • 이전 결과가 단일 항목이거나 그 이후의 완전한 이름 인 경우 add headed(화면을 사용하는 앱의 경우) 또는 headless(headless 앱의 경우) 명령과 appName을 사용하십시오.header :
  • 재시작

명령 :

  iotstartup list <optional:appname>
  iotstartup add headed:headless 64e9d643-619e-40e0-91b0-8e54f3e32aa8_953wxc6k7hb7r!App
  # AppID changed to your 64e9d643-619e-40e0-91b0-8e54f3e32aa8_953wxc6k7hb7r!App
  shutdown /r /t 0

기본 앱을 재설정

  iotstartup add headed DefaultApp

더 많은 디버깅 옵션

프로젝트를 열지 않고 Attach재생 버튼을 클릭하기 만하면 원격 프로세스에 연결할 수 있습니다 . 그러나 시작시 충돌이 발생하면 제대로 작동하지 않지만 매번 특정 위치에서 앱이 충돌하면 작동 할 수 있습니다.

여기에 이미지 설명을 입력하십시오

디버깅에서 WebGUI에서 크래시 덤프를 볼 수 있지만 해당 덤프 파일은 커널에 따라 다르며 디버깅하기가 매우 지루할 수 있습니다. 여기에는 오류 메시지가 포함되어 있지 않거나 이해하기 쉬운 스택 덤프가 없습니다. 더 자세한 정보.dmp 는 Visual 2015에서 파일을 열 수는 없지만 커뮤니티 에디션 때문에 추가 정보를 제공합니다 . 그러나 내 Pro 2013조차도 열리지 않았습니다.

여기에 이미지 설명을 입력하십시오

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.