Không thể bắt đầu gói Window10 IoT


11

Tôi có một ứng dụng không đầu được phát triển trong C # cho Raspberry Pi 2 B.

Tôi có thể gỡ lỗi ứng dụng tốt trong studio hình ảnh. Tôi có cáp Ethernet được kết nối trực tiếp giữa máy trạm của tôi và bo mạch. Khi tôi điều hướng trong trình duyệt của mình tới: minwinpc:8080/AppXManager.htmTôi có thể thấy chương trình tôi muốn trong danh sách ứng dụng đã cài đặt. Tôi đã cố gắng loại bỏ nó, xây dựng lại / triển khai lại trong VS và ứng dụng rời khỏi và trở lại từ danh sách; do đó tôi biết phiên bản hiện tại của nó.

Vấn đề là: Tôi không thể đưa nó vào "Bắt đầu" từ GUI web. Tôi chọn ứng dụng của mình và sau đó nhận được lỗi sau:

Failed to start package BlinkyHeadlessCS-uwp_q8jk9dv1tcdg!App

Làm cách nào tôi có thể thiết lập chương trình nhấp nháy của mình để bắt đầu từ Giao diện người dùng web và sau đó, làm cách nào để chương trình tự động chạy sau khi tôi khởi động?


Phải là một ngoại lệ ném khi bắt đầu ứng dụng. Thật không may, MS nổi tiếng về điều này, đặc biệt là trên tất cả các công nghệ mới mà họ tạo ra, họ đã chần chừ phân bổ về kiểm soát lỗi. Có thể gỡ lỗi từ xa, không xây dựng gỡ lỗi, có thể giúp đỡ. Tôi đang thiết lập IoT và sẽ thực hiện một số điều. Nếu bạn quan tâm để chia sẻ mã của mình, tôi có thể thử và giúp đỡ, tôi có nhiều năm kinh nghiệm với công cụ .NET. Hoặc cố gắng truy cập vào một bãi chứa ngăn xếp ở đâu đó.
Piotr Kula

Để tự động khởi động ứng dụng, bạn cần sử dụng powershell và đặt một số cài đặt đăng ký. Sẽ thử và trả lời câu hỏi này khi tôi nhận được một ứng dụng.
Piotr Kula

Cảm ơn các sơ đồ ... lỗi tôi hiện đang gặp phải sau khi làm theo các bước bên dưới của hộp kiểm "Không khởi chạy ..." là loại đầu ra 'Thành phần thời gian chạy Windows' không được hỗ trợ bởi một hoặc nhiều mục tiêu của dự án
fifamaniac04

Đảm bảo rằng cánh tay được chọn và không x86
Piotr Kula

Bạn có thể gỡ lỗi bằng cổng nối tiếp như được mô tả ở đây .. nhưng không chắc bạn có thể nhận được bao nhiêu dữ liệu nhạy cảm. ms-iot.github.io/content/en-US/win10/Windbg.htm
Piotr Kula

Câu trả lời:


10

WOOO HOOO !!!!

OK, cuối cùng tôi đã hiểu ...

đây là những gì hiệu quả với tôi khi chỉ triển khai một (1) ứng dụng Không đầu.

Bước 1: Mở Powershell với tư cách Quản trị viên

Bước2: Kết nối với bo mạch bằng lệnh này: net start WinRM... LƯU Ý Tôi có cáp Ethernet trực tiếp từ máy tính xách tay của tôi đến bo mạch raspberry pi 2. LƯU Ý nếu bạn đã chạy VS rồi, nó sẽ cho bạn biết rằng bạn đã thiết lập kết nối ...

Bước 3: trong powershell, chạy tiếp theo Set-Item WSMan:\localhost\Client\TrustedHosts -Value minwinpc... Tôi đã để lại tên mặc định cho thiết bị của mình. LƯU Ý khi được nhắc, nhập 'Y'

Bước 4: Enter-PSSession -ComputerName minwinpc -Credential minwinpc\Administrator... LƯU Ý Bạn sẽ được nhắc nhập mật khẩu ... giả sử mặc định, nhập "p @ ssw0rd" - có, phân biệt chữ hoa chữ thường

Bước 5: đợi một lát ... nghiêm túc mất một lúc ...

Bước 6: trong powershell, bây giờ bạn sẽ thấy tên thiết bị trong lời nhắc - gõ lệnh sau: IotStartup remove

Bước 7: trong powershell ... gõ: IotStartup list... từ đây, chúng tôi muốn lấy tên của ứng dụng không đầu mà bạn muốn mặc định.

Bước 8: trong powershell ... gõ: IotStartup add headless <the-exact-full-name-of-the-headless-app-here>

step9: in powershell ... gõ: setbootoption headless.... điều này sẽ nhắc bạn khởi động lại nếu thành công

bước 10: trong powershell ... gõ: shutdown /r /t 0... điều này sẽ khiến thiết bị của bạn khởi động lại, ngay lập tức

- ĐỪNG .... từ đây chỉ cần đợi ứng dụng của bạn khởi động! Tôi đã có một chương trình LED đơn giản và cuối cùng nó đã tự khởi động sau khi khởi động lại.


Tôi đã có thể sử dụng phương pháp này là tốt. Microsoft nên khắc phục sự cố cơ bản ngăn bạn thực hiện việc đó từ Giao diện người dùng web.
Jamie Keeling

1

Bạn có thể đính kèm vào Ứng dụng của mình từ Visual Studio. (Chỉ gỡ lỗi, phát hành dường như không hoạt động)

  • Mở Visual studio với mã nguồn của dự án của bạn
  • Trên dự án trong Solution Explorer, nhấp chuột phải vào nó.
  • Đi đến gỡ lỗi
  • Đánh dấu vào ô Do not launch, but debug my code when it starts
  • Tiết kiệm
  • Bấm chạy trên "Máy từ xa"
  • Nó sẽ triển khai ứng dụng nhưng sẽ không chạy nó.
  • Vì vậy, hãy chạy nó trên Pi hoặc thông qua WebGui và hy vọng Visual Studio sẽ gặp lỗi, cho bạn ý tưởng tốt hơn nhiều về những gì đang xảy ra.

Nếu ứng dụng của bạn không đạt điểm dừng ngoại lệ trong khi gỡ lỗi nhưng bạn vẫn gặp lỗi, thì đó là một thứ khác bị hỏng. Có lẽ thẻ SD của bạn có tệp bị hỏng? Hãy thử một thẻ SD khác và cài đặt mới

Tự khởi động ứng dụng

Bạn có thể làm điều này qua WebGui Now

nhập mô tả hình ảnh ở đây

Hoặc bạn có thể kết nối với dòng lệnh powershell của IoT bằng SSH hoặc Powershell, tôi nghĩ SSH dễ dàng hơn.

  • Liệt kê các ứng dụng được cài đặt, bạn có thể cung cấp tùy chọn tên ứng dụng của mình dưới dạng bộ lọc
  • sử dụng lệnh add headed(cho các ứng dụng sử dụng màn hình) hoặc lệnh headless(cho các ứng dụng không đầu) và appName nếu kết quả trước đó là một mục duy nhất hoặc tên wierd đầy đủ thay vì sauheader :
  • Khởi động lại

Các lệnh:

  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

và để thiết lập lại ứng dụng mặc định

  iotstartup add headed DefaultApp

Tùy chọn gỡ lỗi khác

Bạn cũng có thể đính kèm vào bất kỳ quy trình từ xa nào mà không cần mở bất kỳ dự án nào và chỉ cần nhấp vào Attachnút phát. Nhưng điều này sẽ không hoạt động tốt nếu nó bị sập khi khởi chạy, nhưng có thể hoạt động nếu một ứng dụng gặp sự cố tại một vị trí cụ thể mỗi lần.

nhập mô tả hình ảnh ở đây

Bạn có thể xem kết xuất sự cố từ WebGUI trong Gỡ lỗi nhưng các tệp kết xuất đó là đặc thù của Kernel và có thể rất tẻ nhạt để gỡ lỗi. Điều này không bao gồm bất kỳ thông báo lỗi, hoặc ngăn xếp ngăn xếp dễ hiểu. Thêm thông tin ở đây , mặc dù tôi không thể mở bất kỳ .dmptệp nào trong Visual 2015, có thể vì đó là phiên bản cộng đồng. Nhưng ngay cả Pro 2013 của tôi sẽ không mở nó.

nhập mô tả hình ảnh ở đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.