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 stanno cercando informazioni sulle API della famiglia di dispositivi universali, vedere funzionalità di UWP non ancora supportate in Xbox.][If you came here from a link in an API reference topic, and are looking for Universal device family API information, please see UWP features that aren't yet 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. Chiudi 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 file crittografati nella destinazione non crittografataStorageFile.CopyAsync fails to copy encrypted files to unencrypted destination

Quando StorageFile.CopyAsync viene utilizzato per copiare un file crittografato in una destinazione che non è crittografata, la chiamata non riuscirà 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)

Questo può influire sugli sviluppatori di Xbox che vogliono copiare i file distribuiti come parte del proprio pacchetto di app in un'altra posizione.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 i contenuti del pacchetto vengono crittografati su una Xbox in modalità demo negozio, ma non in modalità sviluppatore.The reason for this is that the package contents are encrypted on an Xbox in retail mode, but not in Dev Mode. Di conseguenza, l'app potrebbe sembrare che funzioni come previsto durante lo sviluppo e il test, ma in seguito non funziona una volta che è stato pubblicata e poi installata in una Xbox commerciale.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.

Disponibilità delle API UWPUWP API coverage

Non tutte le API UWP sono supportate in Xbox.Not all UWP APIs are supported on Xbox. Per un elenco delle API che sappiamo non funzionare, vedi Funzionalità UWP non ancora supportate in Xbox.For the list of APIs that we know don’t work, see UWP features that aren't yet 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

Avvertenza KnownFolders.MediaServerDevices su XboxKnownFolders.MediaServerDevices caveat on Xbox

Su desktop, i server multimediali sono "associati" al PC e il servizio associazione dispositivi monitora costantemente i server attualmente online, pertanto una query del file system iniziale può immediatamente restituire 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.

Su Xbox non esiste un'interfaccia utente per aggiungere o rimuovere server, pertanto la query del file system iniziale non restituirà alcun risultato.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 ed effettuare la sottoscrizione all'evento ContentsChanged, quindi aggiornare la query ogni volta che viene visualizzata 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 inizieranno ad apparire e la maggior parte di essi verrà individuata entro 3 secondi.Servers will trickle in and most will have been discovered within 3 seconds.

Codice di esempio semplice: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);
            }
        }
    }
}

Vedi ancheSee also