ClickOnceを使用して依存アセンブリからコンテンツファイルを展開する
-
05-07-2019 - |
質問
ClickOnceを使用して内部的に展開している単純なWinFormsアプリがあります。メインアプリケーションには依存アセンブリがあり、そのアセンブリには「コンテンツ」としてマークされたいくつかのxmlテンプレートファイルがあります。および「常にコピー」"ビルドプロパティでは、プロジェクトプロパティ->公開->アプリケーションファイルダイアログに移動すると、アプリケーションファイルのリストに表示されません。
誰でも、依存アセンブリの一部であるこれらのXmlファイルを展開する方法を知っています。
@ codeConcussion-ありがとうございます。最後に、[既存のファイルを追加]を使用してxmlファイルを追加し、[リンクとして追加]を選択して、同じことを達成しました。
解決
VS 2008 SP1を使用しているため、これが以前のVSバージョンでもまったく同じように機能するかどうかはわかりません。
メインプロジェクトにビルド後イベントを追加するだけで、問題を処理できます。 マイプロジェクト>になるVB.Netプロジェクト[コンパイル]タブ>ビルドイベント...>ビルド後の編集... 。 C#では、プロジェクトのプロパティ>ビルドイベント>ビルド後を編集... 。依存アセンブリのbinフォルダーからメインプロジェクトのbinフォルダーにxmlテンプレートファイルをコピーする簡単な xcopy [ソースファイル] [宛先フォルダー] コマンドが機能するはずです。
そこから、「すべてのファイルを表示」をチェックしてください。 [公開]タブの[アプリケーションファイル]ダイアログで。
これに代わる方法は、2つのプロジェクトを同じbinフォルダーにビルドするように変更することです。それはうまく機能しますが、依存するアセンブリがこのアプリケーションに固有であり、複数のアプリで使用されるライブラリアセンブリでない場合にのみ行います。