2017-05-25 2 views
1

私は複雑なWPFアプリケーションを構築しています。私は複数のビジュアルスタジオソリューションを持っています。各ソリューションにはプロジェクトがあります。コード保護の理由から、私は別々のソリューションにプロジェクトを配置しなければなりませんでした。Click Once Deploy - 複数のVSプロジェクトを持つアプリケーションを公開するにはどうすればいいですか?

  1. ComponentMain溶液(WPFアプリケーション)
  2. ComponentA溶液(クラスライブラリ)
  3. ComponentB溶液(クラスライブラリ)主なソリューションの

成分A & B referensesアセンブリ。主なソリューションは、コンポーネントA & Bのアセンブリを、実行時にリフレクションを使用してロードします。

各ソリューションをビルドすると、Xcopyポストビルドイベントが起動され、すべてのdllがGlobalOutputというフォルダにコピーされます。ここで、MainSolution.exeを実行するだけでアプリケーションを実行できます。

ここで、ClickOnceを使用してアプリケーションを公開したいとします。前述したように、複数のプロジェクトがあり、Dllは読み込みを使用してロードされます。

上記の理由により、私の知る限り、クリック一度公開ウィザードは使用できません。たぶん私は間違っています。

クリックを1回使用してアプリケーションを公開するにはどうすればよいですか? 私はGlobalOutputディレクトリにあるすべてのdllを持っているので、そこから直接clickkonceを作成する方法はありますか?

答えて

0

Click Onceで公開するファイルを指定できます。あなたのために

、それはのようなものになります。

  • 一度クリックして設定するには、出版事業としてこれらのソリューション/プロジェクトの一つを選択してください。他のプロジェクト/ソリューションからのdllを前提条件としてマークする必要があります。
    1. ソリューションエクスプローラでプロジェクトを選択し、[プロジェクト]メニューの[プロパティ]をクリックします。
    2. [公開]タブをクリックします。
    3. [アプリケーションファイル]ボタンをクリックして、[アプリケーションファイル]ダイアログボックスを開きます。
    4. [アプリケーションファイル]ダイアログボックスで、前提条件としてマークするアプリケーションアセンブリ(.dllファイル)を選択します。リストに表示するには、アプリケーションにアプリケーションアセンブリへの参照が必要であることに注意してください。
    5. [Publish Status]フィールドで、ドロップダウンリストから[Prerequisite]を選択します。他のソリューション/プロジェクトからファイルを作成する

は、ステップ3で、アプリケーションのファイルダイアログボックスに表示され、あなたは出力のDLLを参照するか、ソリューションファイルとしてそれらを追加し、ビルドアクションを設定しますか、コンテンツ。詳細については

Specify Which Files Are Published by ClickOnce

+0

あなたのコメントは言う:「あなたのアプリケーションは、それがリストに表示されるようにするためにアプリケーションアセンブリへの参照を持っている必要があることに注意してください。」しかし、どのように私は参照されていないdllを含めることができますか? – Rahul

+0

dllを参照するか、公開するプロジェクトに一度クリックして、既存の項目を追加して、既存のdllを追加することができます。 dll項目のBuild Actionがcontentに設定されていることを確認します。 – Vince

関連する問題