0

UWP プロジェクトのユニバーサル Windows クラス ライブラリで定義された UserControl を利用する必要があります。このクラス ライブラリは、依存関係として使用されます。(両方のアセンブリは私のものです。)以前のプロジェクトでは、UserControl を実装するプロジェクトが同じソリューションの一部であった場合、これは正常に機能しました。現在のプロジェクトでは、代わりにクラス ライブラリを NuGet パッケージとして使用しています。NuGet パッケージから UserControl を使用しようとすると、すべてがビルドされますが、実行時に UserControl を含むページを読み込むと、XamlParseException がすぐにスローされます。

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

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

4

1 に答える 1

0

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

追加の注意として、NuGet パッケージに .xbf ファイルを含める必要はおそらくないでしょう。XAML コンパイラは、すべての Xaml ファイル (オーバーライドされていない限り) を .xbf に変換します。参照されている拡張 SDK または NuGet パッケージからのものも含まれます。ただし、Xaml ファイルを含める必要があります。これは、Xaml デザイナーが動作できるようにし、Xaml コンパイラへの入力となるためです。

csproj を読み取り、パッケージ化前およびビルド後のステップとして必要なコンテンツで必要に応じて nuspec を更新するスクリプトを作成することも検討できます。

このトピックに関する良い読み物は、Tim Heuer の投稿です。

于 2016-05-26T22:30:53.090 に答える