Problemi noti della piattaforma UWP nel programma per sviluppatori XboxKnown issues with UWP on Xbox Developer Program

Questo argomento descrive i problemi noti della piattaforma UWP nel programma per sviluppatori Xbox One.This topic describes known issues with the UWP on Xbox One Developer Program. Per altre informazioni su questo programma, vedi UWP su Xbox.For more information about this program, see UWP on Xbox.

[Se si è arrivati qui da un collegamento in un argomento di riferimento per le API e si cercano informazioni sulle API per la famiglia di dispositivi universali, vedere funzionalità di UWP non supportate in Xbox.][If you came here from a link in an API reference topic, and are looking for Universal device family API information, see UWP features not supported on Xbox.]

L'elenco seguente evidenzia alcuni problemi noti che potresti riscontrare, ma non è un elenco completo.The following list highlights some known issues that you may encounter, but this list is not exhaustive.

Poiché il tuo feedback è importante per noi, ti invitiamo a segnalarci tutti i problemi riscontrati nel forum sullo Sviluppo di app UWP (Universal Windows Platform).We want to get your feedback, so please report any issues that you find on the Developing Universal Windows Platform apps forum.

In caso di problemi che ti impediscono di continuare, leggi le informazioni contenute in questo argomento, vedi le domande frequenti e usa i forum per chiedere assistenza.If you get stuck, read the information in this topic, see Frequently asked questions, and use the forums to ask for help.

La distribuzione da Visual Studio non riesce con Controllo genitori attivatoDeploying from VS fails with Parental Controls turned on

Se Controllo genitori è attivato in Impostazioni nella console, l'avvio della tua app da Visual Studio non sarà possibile.Launching your app from VS will fail if the console has Parental Controls turned on in Settings.

Per risolvere questo problema, disabilita temporaneamente Controllo genitori, oppure:To work around this issue, either temporarily disable Parental Controls, or:

  1. Distribuisci la tua app nella console con l'opzione Controllo genitori disattivata.Deploy your app to the console with Parental Controls turned off.
  2. Attiva Controllo genitori.Turn on Parental Controls.
  3. Avvia l'app dalla console.Launch your app from the console.
  4. Immetti un PIN o una password per consentire l'avvio dell'app.Enter a PIN or password to allow the app to launch.
  5. L'app verrà avviata.App will launch.
  6. Chiudere l'app.Close the app.
  7. Esegui l'avvio da Visual Studio con F5 e l'app verrà avviata senza richieste.Launch from VS using F5, and the app will launch with no prompting.

A questo punto l'autorizzazione è permanente fino a quando non disconnetti l'utente, anche se disinstalli e reinstalli l'app.At this point the permission is sticky until you sign the user out, even if you uninstall and reinstall the app.

Esiste un altro tipo di esenzione che è disponibile solo per gli account per bambini.There is another type of exemption that is only available for child accounts. Per un account per bambini è necessario che un genitore esegua l'accesso per concedere l'autorizzazione, ma in questo caso il genitore ha la possibilità di scegliere Sempre per consentire al bambino di avviare sempre l'app.A child account requires a parent to sign in to grant permission, but when they do, the parent has the option of choosing to Always allow the child to launch the app. Questa esenzione viene archiviata nel cloud e verrà mantenuta anche se il bambino si disconnette ed effettua di nuovo l'accesso.That exemption is stored in the cloud and will persist even if the child signs out and signs back in.

StorageFile. CopyAsync non riesce a copiare i file crittografati nella destinazione non crittografataStorageFile.CopyAsync fails to copy encrypted files to unencrypted destination

Quando StorageFile. CopyAsync viene usato per copiare un file crittografato in una destinazione non crittografata, la chiamata avrà esito negativo con l'eccezione seguente:When StorageFile.CopyAsync is used to copy a file that is encrypted to a destination that is not encrypted, the call will fail with the following exception:

System.UnauthorizedAccessException: Access is denied. (Excep_FromHResult 0x80070005)

Ciò può influire sugli sviluppatori Xbox che vogliono copiare i file distribuiti come parte del pacchetto dell'app in un altro percorso.This can affect Xbox developers who want to copy files that are deployed as part of their app package to another location. Il motivo è che il contenuto del pacchetto viene crittografato in una Xbox in modalità retail, ma non in modalità dev.The reason for this is that the package contents are encrypted on an Xbox in retail mode, but not in Dev Mode. Di conseguenza, è possibile che l'app sembri funzionare come previsto durante lo sviluppo e il testing, ma non ha esito positivo dopo che è stata pubblicata e quindi installata in una Xbox finale.As a result, the app may appear to work as expected during development and testing, but then fail once it has been published and then installed to a retail Xbox.

Porte di rete bloccate su Xbox OneBlocked networking ports on Xbox One

Per le app UWP (Universal Windows Platform) su dispositivi Xbox One non è consentito il binding alle porte nell'intervallo [57344, 65535], inclusivo.Universal Windows Platform (UWP) apps on Xbox One devices are restricted from binding to ports in the range [57344, 65535], inclusive. Anche se il binding a queste porte potrebbe sembrare riuscito in fase di esecuzione, il traffico di rete può essere ignorato senza avviso prima di raggiungere l'app.Although binding to these ports might appear to succeed at run-time, network traffic can be silently dropped before reaching your app. L'app deve essere associata alla porta 0 quando possibile, che consente al sistema di selezionare la porta locale.Your app should bind to port 0 wherever possible, which allows the system to select the local port. Se devi usare una porta specifica, il numero della porta deve essere compreso nell'intervallo [1025, 49151] e devi controllare ed evitare conflitti con il registro IANA.If you need to use a specific port, the port number must be in the range [1025, 49151], and you should check and avoid conflicts with the IANA registry. Per altre informazioni, vedi Service Name and Transport Protocol Port Number Registry.For more information, see the Service Name and Transport Protocol Port Number Registry.

Code coverage API Windows RuntimeWindows Runtime API coverage

Non tutte le API Windows Runtime sono supportate in Xbox.Not all Windows Runtime APIs are supported on Xbox. Per l'elenco delle API non funzionanti, vedere funzionalità di UWP non supportate in Xbox.For the list of APIs that we know don't work, see UWP features not supported on Xbox. Se si verificano problemi con altre API, segnalali nei forum.If you find issues with other APIs, please report them on the forums.

Riceverai un avviso sul certificato fornito, simile allo screenshot seguente, perché il certificato di sicurezza firmato dalla tua console Xbox One non è considerato un editore attendibile noto.You will receive a warning about the certificate that was provided, similar to the following screenshot, because the security certificate signed by your Xbox One console is not considered a well-known trusted publisher. Per accedere a Windows Device Portal, fai clic su Passa a questa pagina Web.To access the Windows Device Portal, click Continue to this website.

Avviso per il certificato di sicurezza del sito Web

KnownFolders. MediaServerDevices caveat su XboxKnownFolders.MediaServerDevices caveat on Xbox

Sul desktop, i server multimediali sono "abbinati" con il PC e il servizio di associazione dei dispositivi rileva costantemente quali server sono attualmente online, quindi una query file system iniziale può restituire immediatamente un elenco dei server associati attualmente online.On Desktop, media servers are “paired” with the PC, and the Device Association Service is constantly tracking which of the servers are currently on-line, so an initial file system query can immediately return a list of the paired servers that are currently online.

In Xbox non è disponibile alcuna interfaccia utente per l'aggiunta o la rimozione di server, pertanto la query file system iniziale restituirà sempre Empty.On Xbox, there is no UI to add or remove servers, so the initial file system query will always return empty. È necessario creare una query e sottoscrivere l'evento ContentsChanged e aggiornare la query ogni volta che si riceve una notifica.You must create a query and subscribe to the ContentsChanged event and refresh the query each time you get a notification. I server propagano e la maggior parte di essi viene individuata entro 3 secondi.Servers will trickle in and most will have been discovered within 3 seconds.

Semplice esempio di codice:Simple example code:

namespace TestDNLA {

    public sealed partial class MainPage : Page {
        public MainPage() {
            this.InitializeComponent();
        }

        private async void FindFiles_Click(object sender, RoutedEventArgs e) {
            try {
                StorageFolder library = KnownFolders.MediaServerDevices;
                var folderQuery = library.CreateFolderQuery();
                folderQuery.ContentsChanged += FolderQuery_ContentsChanged;
                IReadOnlyList<StorageFolder> rootFolders = await folderQuery.GetFoldersAsync();
                if (rootFolders.Count == 0) {
                    Debug.WriteLine("No Folders found");
                } else {
                    Debug.WriteLine("Folders found");
                }
            } catch (Exception ex) {
                Debug.WriteLine("Error: " + ex.Message);
            } finally {
                Debug.WriteLine("Done");
            }
        }

        private async void FolderQuery_ContentsChanged(Windows.Storage.Search.IStorageQueryResultBase sender, object args) {
            Debug.WriteLine("Folder added " + sender.Folder.Name);
            IReadOnlyList<StorageFolder> topLevelFolders = await sender.Folder.GetFoldersAsync();
            foreach (StorageFolder topLevelFolder in topLevelFolders) {
                Debug.WriteLine(topLevelFolder.Name);
            }
        }
    }
}

Vedere ancheSee also