Nuget:Windows Phone 7バイナリを使用してパッケージを作成するための適切な「フレームワーク名」は何ですか?
-
16-10-2019 - |
質問
オープンソースプロジェクトの1つ用にNugetパッケージを作成したばかりで、Windows Phone 7バイナリが含まれています。テストしたばかりで、Windows Phone 7固有のライブラリを追加する代わりに、Silverlightライブラリを追加しました。
私の質問は、NugetパッケージマネージャーがWP7固有のバイナリを認識し、Silverlightバイナリの代わりにそれらをインストールするように、フォルダーアーキテクチャを設定するにはどうすればよいですか?
ここにリストされている指示に従いました Nugetパッケージの複数のフレームワークをターゲットにするため。
これが私のフォルダツリーが現在どのように見えるかです:
\lib
\.NetFramework 4.0
\MyAssembly.dll
\Silverlight 4.0
\MyAssembly.Silverlight.dll
\Windows Phone 7
\MyAssembly.Mobile.dll
私は何を違ったやり方でやるべきですか?
解決
プロファイルサポートがないため、WP7はまだネイティブにサポートしていません(フレームワーク名のプロファイル部分はフォルダでサポートされていません)。詳細については、この問題を参照してください http://nuget.codeplex.com/workitem/219.
FWIW:Windows Phone 7はSilverlight 4、Profile = Windows Phoneです。
今のところ、WP7の別のパッケージを作成する必要があります。
他のヒント
これはで修正されているようです 最新バージョン (1.1)nugetの。次のテストでこれを確認できます(Nuget単体テストから直接撮影):
[TestMethod]
public void ParseFrameworkNameWithWPProfileGetNormalizedToWindowsPhone() {
// Act
var frameworkName = VersionUtility.ParseFrameworkName("sl4-wp");
// Assert
Assert.AreEqual("Silverlight", frameworkName.Identifier);
Assert.AreEqual(new Version("4.0"), frameworkName.Version);
Assert.AreEqual("WindowsPhone", frameworkName.Profile);
}
所属していません StackOverflow