AntonioPelleriti.it [aka z9]

I code, therefore I am

NAVIGATION - SEARCH

Articolo: La nuova frontiera del wireless, la tecnologia NFC

Su IoProgrammo numero 185 (Maggio/Giugno 2013), trovate il mio articolo sulla programmazione di dispositivi Windows Phone 8 w/o Windows 8 dotati di chip NFC per la comunicazione wireless.

Titolo di copertina:

LA NUOVA FRONTIERA DEL WIRELESS! 
Le API mobile e desktop di Microsoft per far comunicare due dispositivi fisicamente vicini utilizzando la tecnologia NFC

Blend 2012: Invalid Markup e [Type] is not supported in a Windows App project

Ho passato un paio di giorni a combattere contro Blend for Visual Studio 2012, che non ne voleva più saperne di aprire in design i file xaml di una soluzione abbastanza complessa.

Il bello è che aveva sempre funzionato, fino a quando senza un motivo apparente, il designer dell'IDE Blend ha iniziato a dare degli errori di Invalid Markup e nella finestra Errors svariate decine di errori del tipo:

Page is not supported in a Windows App project

Window is not supported in a Windows App project

ResourceDictionary is not supported in a Windows App project

Grid is not supported in a Windows App project

 

ecc. ecc.

Ho googolato un pò, ma niente, nessuna soluziona utile, nemmeno una riparazione di Visual Studio ha aiutato.

Fra l'altro Visual Studio 2012 invece apriva correttamente il design e per un pò mi sono adeguato.

Poi ho notato dal Configuration Manager che per uno dei tanti progeti, in particolare una Portable Class Library, non riuscivo più a impostare la modalità di compilazione x86 (rimaneva e potevo selezionare solo Any CPU).

Allora ho pensato di eliminare la configurazione x86 e ricrearla da zero, ed ecco che si è sistemato tutto!

Ora Blend funziona perfettamente!

Verificare se un file esiste in una app Windows Store

Il seguente metodo mostra come verificare se un file esiste in Windows 8, cioè in una app Windows Store (ex Metro!).

Il parametro folder è la StorageFolder all'interno del quale cercare, subFolderName è l'eventuale sottocartella, e fileName è il nome del file.

 

 

public async Task<bool> LocalFileExistsAsync(StorageFolder folder, string subFolderName, string fileName)
 {
            try
            {
                if (!String.IsNullOrWhiteSpace(subFolderName))
                {
                    var subfolder = await folder.GetFolderAsync(subFolderName);
                     await subfolder.GetFileAsync(fileName);
                }
                else await folder.GetFileAsync(fileName);
            }
            catch (FileNotFoundException)
            {
                return false;
            }
            return true;
}

 

Ed ecco un esempio per invocare il metodo sopra:

bool exist=await LocalFileExistsAsync(ApplicationData.Current.LocalFolder, null, filename.jpg);