0

オープン ソース プロジェクトの 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

どうすればいいですか?

4

2 に答える 2

3

プロファイルのサポートがないため、wp7 はまだネイティブにサポートされていません (フレームワーク名のプロファイル部分はフォルダーではサポートされていません)。詳細については、この問題を参照してくださいhttp://nuget.codeplex.com/workitem/219

FWIW: Windows phone 7 は Silverlight 4 で、Profile=Windows Phone です。

今のところ、wp7 用に別のパッケージを作成する必要があります。

于 2011-01-22T08:54:18.920 に答える
0

これは、nuget の最新バージョン(1.1) で修正されたようです。これは、次のテストで確認できます (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);
}
于 2011-02-15T04:41:38.740 に答える