패키지 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.