Nuget:Windows Phone 7バイナリを使用してパッケージを作成するための適切な「フレームワーク名」は何ですか?

StackOverflow https://stackoverflow.com/questions/4766908

質問

オープンソースプロジェクトの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);
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top