2016-06-12 26 views
6

Ho diversi progetti DLL .NET per .NETv4.x. Ho cambiato la versione in 4.6.1 e ricostruito senza problemi. Quando provo ad aggiungere referene a loro dal mio progetto UWP ottengo l'errore:Come aggiungere riferimento a DLL dll al progetto UWP?

The project targets '.NETCore' while the file reference targets '.NETFramework'. This is not a supported scenario.

Non posso riferire anche progetti NET da 'Aggiungi riferimento ...'->' Progetti:

Unable to add a reference to project

Ma nelle impostazioni del progetto non riesco a vedere nulla per cambiare il suo obiettivo su ".NETCore". È possibile fare riferimento a progetto .NET4.x dal progetto UWP o convertirlo in tipo di progetto UWP?

risposta

10

Il progetto UWP può fare riferimento a Universal Class Library, Portable Library o Windows Runtime Component. I tuoi progetti .NET classici non sono nessuno di questi.

Se si prevede di continuare a sviluppare e utilizzare tali librerie in entrambi i progetti .NET classici e UWP, suggerisco di provare Libreria portatile in cui è possibile scegliere le piattaforme di destinazione, ma attenzione che questo approccio può essere un po 'limitativo perché prende il minimo comune denominatore per gli spazi dei nomi e le classi disponibili.

Un altro approccio potrebbe essere quello di creare due diversi progetti per il classico .NET e UWP e condividere il codice tra loro aggiungendo file come collegamenti o utilizzando Progetto condiviso. Quindi risolvere tutti i problemi con la compilazione condizionale, costruirli e utilizzare i file di output .dll appropriati per entrambi i casi.

+0

Ho questo problema. C'è un modo semplice per cambiare la libreria ..NET classica su PCL? – erotavlas

+0

Dipende dal numero di codice specifico della piattaforma che si possiede. Personalmente lo farei con "forza brutale": crea un PCL e copia tutto il codice, quindi inizia a eliminare/sostituire tutto il codice che non si adatta. Forse c'è un modo più efficiente però. C'è anche .NET Standard uscito abbastanza di recente che può essere utilizzato per lo stesso scopo di PCL, ma non l'ho ancora guardato da vicino. Puoi [controllare qui] (http://stackoverflow.com/questions/39050911/net-standard-net-core-pcl) per maggiori informazioni su di esso. –

Problemi correlati