質問
VS2008でClickOnceソリューションを作成しました。 私のメインプロジェクトは、COM dllを「リンク」として参照する別のプロジェクトを参照します。
VSでソリューションをビルドすると、ortherプロジェクトのdllはbinフォルダーに移動しますが、プロジェクトを公開して起動すると、これらのファイルはLocal Settings \ Apps \ 2.0 ...フォルダーに存在しません。
他のプロジェクトの各dllをメインプロジェクトの参照として追加できることは知っていますが、よりクリーンなソリューションが必要です...
それは可能ですか?
解決
まず、これらのファイルをプロジェクトに直接追加します。 次に、アプリケーションのプロパティに移動します->公開->アプリケーションファイル
「すべてのファイルを表示」を選択します;必要なファイルが表示されない場合、それらを設定します ステータスを" Include"に公開するNOT(「含める(自動)」」。これは重要であるか、追加されません。
ファイルを更新する場合は、それらを削除して再度追加する必要があることに注意してください 公開ステータスを再度設定します。これは小さなバグです。
詳細については、以前の私の質問を参照してください。 ClickOnce-コンテンツファイルの上書き
他のヒント
「アプリケーションファイル」を開く必要があります。プロジェクトの[公開]タブのダイアログ。そこから、各ファイルの公開タイプ(Include、Prerequisiteなど)を設定できます。
アンマネージDLLの場合、実際の.dllをファイルとしてプロジェクトに追加し、そのビルドアクションを「データ」としてマークする必要があります。その後、そのファイルの公開タイプを含めるに設定できます。
私は同じ問題を抱えていました...そして多くのオプションを試した後にこれを修正する唯一の方法は、それらのdllを参照に追加することでした。
それは機能しますが、将来的にはよりクリーンなソリューションがあることを願っています。