2012-06-29 11 views
52

Mam kilka bibliotek klas z niebanalną ilością istniejącego kodu. Biblioteki klas są obecnie ukierunkowane na .NET 4.0. Czy są jakieś wskazówki dotyczące konwersji tych bibliotek na przenośne biblioteki? Od patrzenia na .csproj, nie wydaje się, że istnieje wiele różnic:Czy są jakieś wskazówki dotyczące konwersji istniejących bibliotek klas .NET na biblioteki przenośne?

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

i

<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

Czy to dobry czy zły pomysł, aby spróbować przekształcenie istniejącej biblioteki do klasy być przenośną biblioteką?

+0

Igor Milovanović ma ładny tutorial z grafiką [tutaj] (http://geekswithblogs.net/imilovanovic/archive/2012/08/31/vs2012---how-to-manually-convert-.net-class- library-to.aspx). –

Odpowiedz

66

Przekonwertowaliśmy również istniejące biblioteki do bibliotek przenośnych i działa dobrze. Musisz zmodyfikować plik projektu. Wymień następujący wiersz:

<Import Project="..." /> 

z

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

Dodaj następujący linii wewnątrz znacznika PropertyGroup

<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

i usunąć następujące linie z AssemblyInfo.cs złożyć

[assembly: ComVisible(false)] 
[assembly: Guid("...")] 

Af Z tego powodu program Visual Studio powinien pokazać stronę zakładki "Biblioteka" na stronie właściwości projektu i można zmienić docelowe struktury dla biblioteki przenośnej.

+3

Właśnie edytowałem kilka projektów (prawdopodobnie starszych wersji plików projektu), a także dodałem tagi '' i '' również do grupy PropertyGroup. Użyłem dla mnie wartości TFVersion -> 4.0 i TFProfile -> 104. – markerikson

+0

Korekta: 'TargetFrameworkVersion' powinno być' v4.0' (zauważ "v") –

+1

WinPhone 8.1 to: Profile32 v4.6 Jimmyt1988

0

Możesz usunąć linię <Import Project="..." />. Następnie, po ponownym załadowaniu projektu, Visual Studio zapyta, które frameworki docelowe. Możesz później zmienić to we właściwościach projektu.

+0

Myślałem, że to będzie zgrabne, ale niestety to nie zadziałało. –

+1

Hmm, po prostu nie wygląda na to, że to działa. –

4

Utworzono rozszerzenie Visual Studio, aby zautomatyzować to. Po prostu wyszukaj w Visual Studio> 2012 w rozszerzeniu dla "convert to pcl"

Kod źródłowy jest również dostępny na Github.

+14

Czy został zaktualizowany do pracy w 2015 roku? – Sinaesthetic

Powiązane problemy