2013-11-20 11 views
21

Attualmente ho un Portable Class Library il cui codice è interamente compatibile con un normale Class Library senza alcuna modifica.Convertire un PCL in una normale libreria di classi

Mi chiedevo se esistesse un software esistente per eseguire automaticamente la conversione; Ho esaminato gli strumenti di Visual Studio ma non sono riuscito a trovarne uno adatto. Prima di scrivere il mio volevo solo essere sicuro!

+4

Se il codice è completamente compatibile, perché vuoi convertirlo? Usa il PCL come-è nel tuo progetto. – thecoop

+0

Uso una vecchia versione di Xamarin che non supporta PCL. – Max

+0

L'opzione è "ricompilala per un target diverso"? O stai cercando di lavorare a livello di DLL? Se è così: è firmato/con il nome sicuro? –

risposta

52

Le differenze saranno nel file .proj.

Avendo provato da solo, si dovrà fare tutti i di quanto segue;

  1. Rimuovere il <TargetFrameworkProfile> elemento
  2. Rimuovere l'elemento <ProjectTypeGuids>
  3. Change dove si ha # 2 (sotto) per quello che faccio vedere a # 1

1. libreria di classi regolari

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" /> 

2. libreria di classi portatile

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> 
+0

È inoltre necessario rimuovere tutti i riferimenti a dll non pcl come System ecc. –

+4

Penso che dovrebbe essere necessario aggiungere * riferimenti a cose come System e System.Core quando si passa da PCL a normale. (che è quello che sembra l'OP stava chiedendo) Dopo le modifiche elencate qui, non avevo riferimenti a nulla, ma è stato abbastanza facile aggiungerli. Grazie! –

+0

Ha funzionato bene. Molte grazie. –

6

Usa VSCommands, ha come un accumulo di funzionalità per convertire i progetti di PCL. Fare clic con il tasto destro del mouse su Project e convertire. E'libero e parte di estensioni di Visual Studio http://vscommands.squaredinfinity.com/Features-SolutionExplorer

Aggiornamento 2016/10/12: link qui sopra è morto. Lo strumento è stato riscritto per Visual Studio 2015 e può essere trovato qui: https://visualstudiogallery.msdn.microsoft.com/c84be782-b1f1-4f6b-85bb-945ebc852aa1

+0

Questo è l'opposto di ciò che l'autore voleva fare. Hanno già un PCL e vogliono convertirlo in una normale libreria di classi. Inoltre, il link è ora rotto. – Swampie

Problemi correlati