2016-05-26 20 views
0

UWPプロジェクトからUniversal Windowsクラスライブラリで定義されたUserControlを使用して、そのクラスライブラリを依存関係として使用する必要があります。 (どちらのアセンブリも私のものです)以前のプロジェクトでは、UserControlを実装しているプロジェクトが同じソリューションの一部だったとき、これはうまくいきました。現在のプロジェクトでは、クラスライブラリをNuGetパッケージとして使用しています。 NuGetパッケージからUserControlを消費しようとすると、すべてがビルドされますが、実行時にUserControlを含むページをロードするとすぐにXamlParseExceptionがスローされます。クラスライブラリに定義されているUserControlがNuGetパッケージに含まれていることを確認するにはどうすればよいですか?

私は(ユーザーコントロールの生成されたバイナリファイルは自動的に何らかの理由でNuGetパッケージには含まれていないようです)啓発的だったhere私を導くthis related questionを、見つけましたが、提案された解決策は、私のニーズに適合しません。ある特定の出力ファイル(* .xr.xml、* .pri、* .xbf)をあるプロジェクトの「bin」から別のプロジェクトの「bin」に手動で移動することが推奨されていますが、これは持続可能ではないようです。これらの特定のファイルをNuGetパッケージに含めることが答えである場合、どのようにすれば自動的に行うことができますか?特定のセットのパラメータを 'nuget pack'に提供することはできますか? .nu​​specファイルをインクルードする必要がある場合、適切なファイルを取得するには何を含める必要がありますか?

私のプロジェクトとワークフローの背景については、関連性があります:XamarinとMvvmCrossを使ってクロスプラットフォームのアプリケーションを構築しています。現在、UWPとAndroidをターゲットにしています。私のユーザコントロールを定義するクラスライブラリは、私のUWPプロジェクトが依存するUniversal Windowsクラスライブラリです。 Visual Studio Team Servicesを使用して、各アセンブリのreposをホストしています。チェックイン時に自動的にビルドされ、テストされ、パッケージ化され、内部フィードに公開されます。内部フィードは、依存するプロジェクトによって取得されます。私は、このレベルの自動化を維持できるように、すべての必要な出力ファイルをNuGetパッケージに組み込む自動化を可能にするソリューションを探しています。

答えて

0

短い答えはノーです。現時点では、この作業を魔法のようにするコマンドはありません。必要なファイルのセットを手動で指定する必要があります。

さらに、NuGetパッケージに.xbfファイルを含める必要はありません。 XAMLコンパイラは、参照されるExtension SDKまたはNuGetパッケージから入ってくるものであっても、すべてのXamlファイル(オーバーライドされない限り)を.xbfに変換します。ただし、Xamlファイルをインクルードする必要があります。これは、XamlデザイナーがXamlデザイナーの作業を可能にし、Xamlコンパイラーへの入力であるためです。

また、csprojを読み込んで、パッケージングおよびポストビルドのステップとして必要なコンテンツに必要なnuspecを更新するスクリプトを作成することもできます。このトピックの周り

良い読み取りがhere

+0

リンクのおかげで、あなたの洞察力の残りのティム・ホイヤーのポストですが、私はその記事を読んであげると、それは私が私の問題を解決するのに役立ちますかどうかを確認します! – MChartier

+1

これは本当に役に立ちました。私は問題を解決し、私は今NuGetパッケージからUserControlを使用できるようになりました。 同様の問題でこれを読んでいる誰かの利益のために、アセンブリの.dll、.pri、および.xr.xmlとUserControlの.xbfを含む.nuspecファイルを修正しました。その後、作業を​​開始しました。 – MChartier

関連する問題