2013-11-20 16 views
21

Obecnie posiadam kod Portable Class Library, którego kod jest w pełni zgodny ze standardowym Class Library bez żadnych modyfikacji.Konwertuj PCL na zwykłą Bibliotekę klas

Zastanawiam się, czy istniało istniejące oprogramowanie do automatycznej konwersji; Zajrzałem do narzędzi Visual Studio, ale nie mogłem znaleźć żadnych odpowiednich. Zanim napisałem własną, chciałem tylko mieć pewność!

+4

Jeśli kod jest w pełni kompatybilny, dlaczego chcesz go przekonwertować? Po prostu użyj PCL w swoim własnym projekcie. – thecoop

+0

Używam starej wersji Xamarin, która nie obsługuje PCL. – Max

+0

Czy "rekompiluj dla innego celu" opcja? Czy próbujesz pracować na poziomie biblioteki DLL? Jeśli tak, to czy jest podpisany/silny? –

Odpowiedz

52

Różnice będą znajdować się w pliku .proj.

Po wypróbowaniu tego samodzielnie, będziesz musiał wykonać wszystkie z następujących;

  1. Usuń element
  2. <TargetFrameworkProfile> Usuń element <ProjectTypeGuids>
  3. Zmień gdzie trzeba # 2 (poniżej) za to, co pokażę w # 1

1. Biblioteka regularna klasa

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

2. Portable Class Library

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

Musisz również usunąć wszystkie odniesienia do plików DLL innych niż Pcl, takich jak System itp. –

+4

Myślę, że powinieneś/powinnaś * dodawać * odniesienia do rzeczy takich jak System i System.Core, przechodząc z PCL do normalnego. (co brzmi tak, jak pytał OP). Po zmianach tutaj wymienionych, nie miałem żadnych odniesień do niczego, ale było dość łatwo je dodać. Dzięki! –

+0

Dobrze działało. Wielkie dzięki. –

6

Zastosowanie VSCommands, ma jako build funkcjonalności przekształcenia Projekty na PCL. Kliknij prawym przyciskiem myszy na Projekt i przekonwertuj. its wolne i część Wizualnych rozszerzeń Studio http://vscommands.squaredinfinity.com/Features-SolutionExplorer

aktualizacji 12.10.2016: powyższy link jest martwy. Narzędzie zostało przepisane dla Visual Studio 2015 i można je znaleźć tutaj: https://visualstudiogallery.msdn.microsoft.com/c84be782-b1f1-4f6b-85bb-945ebc852aa1

+0

To przeciwieństwo tego, co autor chciał zrobić. Mają już PCL i chcą go przekonwertować na zwykłą bibliotekę klas. Również link jest teraz uszkodzony. – Swampie