简体   繁体   中英

Raspberry Pi, Grove, Windows IoT, C#

I am currently experimenting with my Raspberry Pi with Grove sensors and Windows IoT. I am trying to launch the simpliest program but I recieve an error.

The code looks this way:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Http;
using Windows.ApplicationModel.Background;
using GrovePi;
using GrovePi.I2CDevices;
using GrovePi.Sensors;
using GrovePi.Common;

// The Background Application template is documented at http://go.microsoft.com/fwlink/?LinkID=533884&clcid=0x409

namespace IoT_THS_final
{
    public sealed class StartupTask : IBackgroundTask
    {
        IRgbLcdDisplay LCDDisplay;
        public void Run(IBackgroundTaskInstance taskInstance)
        {
            LCDDisplay = DeviceFactory.Build.RgbLcdDisplay();

            for (int i = 1; i < 1000; i++)
            {
                i = i + 50;

                LCDDisplay.SetBacklightRgb(BitConverter.GetBytes(i)[0], BitConverter.GetBytes(i)[0], BitConverter.GetBytes(i)[0]);
                LCDDisplay.SetText("Hello");
                System.Threading.Tasks.Task.Delay(1000).Wait();
            }
        }
    }
}

and there is an error:

Error Validation Error. error C00CE169: App manifest validation error: The app manifest must be valid as per schema: Line 10, Column 13, Reason: 'IoT_THS_final-uwp' conflicts with pattern declaration '[-.A-Za-z0-9]+'. Analysis from attribute 'Name' with value 'IoT_THS_final-uwp' failed. IoT THS final C:\\Users\\k39540\\Desktop\\IoT THS final\\IoT THS final\\bin\\ARM\\Debug\\AppxManifest.xml

and there is an app manifest:

<?xml version="1.0" encoding="utf-8"?>
<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:mp="http://schemas.microsoft.com/appx/2014/phone/manifest" xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10" xmlns:iot="http://schemas.microsoft.com/appx/manifest/iot/windows10" IgnorableNamespaces="uap mp iot build" xmlns:build="http://schemas.microsoft.com/developer/appx/2015/build">
  <!--
    DIESE PAKETMANIFESTDATEI WIRD DURCH DEN BUILDVORGANG GENERIERT.

    Änderungen an dieser Datei gehen verloren, wenn sie erneut erstellt wird. Um Fehler in dieser Datei zu beheben, bearbeiten Sie die ".appxmanifest"-Quelldatei.

    Weitere Informationen zu Paketmanifestdateien finden Sie unter http://go.microsoft.com/fwlink/?LinkID=241727
  -->
  <Identity Name="IoT_THS_final-uwp" Publisher="CN=k39540" Version="1.0.0.0" ProcessorArchitecture="arm" />
  <mp:PhoneIdentity PhoneProductId="f9c878e4-f444-4db2-b42a-7eccc1a5253a" PhonePublisherId="00000000-0000-0000-0000-000000000000" />
  <Properties>
    <DisplayName>IoT THS final</DisplayName>
    <PublisherDisplayName>k39540</PublisherDisplayName>
    <Logo>Assets\StoreLogo.png</Logo>
  </Properties>
  <Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10240.0" MaxVersionTested="10.0.17134.0" />
  </Dependencies>
  <Resources>
    <Resource Language="DE-DE" />
  </Resources>
  <Applications>
    <Application Id="App">
      <uap:VisualElements DisplayName="IoT THS final" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png" Description="IoT THS final" BackgroundColor="transparent" AppListEntry="none">
        <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" />
        <uap:SplashScreen Image="Assets\SplashScreen.png" />
      </uap:VisualElements>
      <Extensions>
        <Extension Category="windows.backgroundTasks" EntryPoint="IoT_THS_final.StartupTask">
          <BackgroundTasks>
            <iot:Task Type="startup" />
          </BackgroundTasks>
        </Extension>
      </Extensions>
    </Application>
  </Applications>
  <Capabilities>
    <Capability Name="internetClient" />
  </Capabilities>
  <Extensions>
    <Extension Category="windows.activatableClass.inProcessServer">
      <InProcessServer>
        <Path>CLRHost.dll</Path>
        <ActivatableClass ActivatableClassId="IoT_THS_final.StartupTask" ThreadingModel="both" />
      </InProcessServer>
    </Extension>
  </Extensions>
  <build:Metadata>
    <build:Item Name="TargetFrameworkMoniker" Value=".NETCore,Version=v5.0" />
    <build:Item Name="VisualStudio" Version="15.0" />
    <build:Item Name="VisualStudioEdition" Value="Microsoft Visual Studio Enterprise 2017" />
    <build:Item Name="OperatingSystem" Version="10.0.17134.346 (WinBuild.160101.0800)" />
    <build:Item Name="Microsoft.Build.AppxPackage.dll" Version="15.0.28010.2016" />
    <build:Item Name="ProjectGUID" Value="{31B90FEB-4419-45AA-8616-D96D2F5B9713}" />
    <build:Item Name="OptimizingToolset" Value="None" />
    <build:Item Name="TargetRuntime" Value="Managed" />
    <build:Item Name="Microsoft.Windows.UI.Xaml.Build.Tasks.dll" Version="15.0.28010.2016" />
    <build:Item Name="WindowsIoT" Version="10.0.17134.0" />
    <build:Item Name="MakePri.exe" Version="10.0.17134.12 (WinBuild.160101.0800)" />
  </build:Metadata>
</Package>

Kind regards,

Alex

When reading the error log, we can see the following:

Reason: 'IoT_THS_final-uwp' verstößt gegen pattern-Einschränkung von '[-.A-Za-z0-9]+'

This means that IoT_THS_final-uwp contains characters which are not allowed. The characters that are allowed are [-.A-Za-z0-9]+ . This means you need to remove the underscore ( _ ) from the name, which should fix your issue. (Thanks to @yW0K5o in the comments as well)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM