2012-06-29 20 views
52

私はいくつかのクラスライブラリを持っています。現在、クラスライブラリは.NET 4.0を対象としています。これらのライブラリを移植可能なライブラリに変換する方法に関するガイダンスはありますか?それは既存のクラスライブラリを変換しようとするのは良いか悪いアイデア既存の.NETクラスライブラリを移植可能なライブラリに変換するためのガイダンスはありますか?

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

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

です:.csprojを見てから、違いがたくさんあることを表示されません。ポータブルライブラリですか?

+0

イゴールミロバノビッチは、ビジュアル[チュートリアル](http://geekswithblogs.net/imilovanovic/archive/2012/08/31/vs2012---how-to-manually-convert-.net-class-ライブラリ - to.aspx)。 –

答えて

66

また、既存のライブラリをポータブルライブラリに変換しても問題なく動作します。プロジェクトファイルを変更する必要があります。

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

<Import Project="..." /> 

[assembly: ComVisible(false)] 
[assembly: Guid("...")] 
ファイルPropertyGroupタグ内

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

を次の行を追加し、AssemblyInfo.csから次の行を削除します。次の行を置き換えます

Af Visual Studioではプロジェクトプロパティページのタブページ "ライブラリ"が表示され、ポータブルライブラリのターゲットフレームワークを変更することができます。

+3

いくつかのプロジェクト(おそらく古いプロジェクトファイルのバージョン)を編集しただけでなく、 ''と ''タグもPropertyGroupに追加しなければなりませんでした。 TFVersion - > 4.0とTFProfile - > 104の値を使って私の仕事をしました。 – markerikson

+0

修正: 'TargetFrameworkVersion'は' v4.0'でなければなりません( 'v'に注意) –

+1

WinPhone 8.1は: Profile32 v4.6 Jimmyt1988

0

<Import Project="..." />行を削除できます。次に、プロジェクトをリロードすると、Visual Studioはどのフレームワークを対象にするかを尋ねます。その後、プロジェクトのプロパティでこれを変更することができます。

+0

これはきちんとしていると思っていましたが、残念ながらそれは私のためには機能しませんでした。 –

+1

うーん、これはもううまくいきません。 –

4

これを自動化するためにVisual Studio Extensionを作成しました。 「convert to pcl」の拡張子でVisual Studio> 2012を検索するだけです

ソースコードはGithubでも利用できます。

+14

2015年に更新されましたか? – Sinaesthetic

関連する問題