2009-05-04 6 views
0

VS2008でClickOnceソリューションを作成しました。 私のメインプロジェクトは、COM dllを「リンク」として参照する別のプロジェクトを参照しています。ClickOnce&References

私のソリューションをVSでビルドすると、ortherプロジェクトのdllはbinフォルダに移動さ​​れますが、プロジェクトを公開して起動すると、これらのファイルはLocal Settings \ Apps \ 2.0 ...フォルダに表示されません。

私は私が私のメインのプロジェクトの参照として、他のプロジェクトの各DLLを追加することができますが、私はクリーンなソリューションが欲しいことを知っている

...

それは可能ですか?

答えて

2

まず、直接プロジェクトにこれらのファイルを追加します。 その後、後藤アプリケーションプロパティ - >公開 - あなたが必要なファイルを参照して、その は「(オート)を含める」NOT「を含める」にステータスを公開設定していない場合は、「すべてのファイルを表示」>アプリケーション・ファイルに

選択を。これは重要であるか、追加されません。

ファイルを更新した場合、あなたはそれらを削除して、再度 を追加して、もう一度自分の公開ステータスを設定する必要がありますのでご注意ください。これは小さなバグです。私は、同じ問題....と多くのオプションを通過した後、この問題を解決する唯一の方法を持っていた参考文献にそれらのDLLを追加することによりだった ClickOnce - Overwriting content files

+0

Ok thxそれぞれのファイルを追加します。それは最も簡単な解決策です... – pebg

+1

'Include-auto'とIncludeの違いは何ですか? –

+0

include-auto Visual Studioは、include-autoを含めるかどうかを決定します。 VSに 'include'を使用するように強制する必要があります – TimothyP

0

あなたはあなたのプロジェクトのパブリッシュ]タブで「アプリケーションファイル」ダイアログを開く必要があります。そこから、各ファイルの公開タイプ(Include、Prerequisiteなど)を設定できます。

それはアンマネージドDLLの場合は、プロジェクトにファイルとして実際の.dllを追加し、「データ」として、そのビルドアクションをマークする必要があります。そのファイルの[公開タイプ]を[含める]に設定できます。

+0

[OK]をので、私はそれが既に参照のプロジェクトに含まれている場合でも、私のメインのプロジェクトに各COM DLLを追加する必要がありますか? – pebg

+0

実際に参照として含まれている場合は、ファイルの公開ステータスを「インクルード」に変更するだけです。含まれていない場合(たとえば、pinvoke経由で関数を使用していた場合)、手動で追加する必要があります。 –

+0

また、ティモシー氏は、「すべてのファイルを表示」を選択する必要があるかもしれないと述べています。 –

0

は、より多くの情報のための私の前の質問を参照してください。

それは動作しますが、私は将来的にそれをきれい解決策があるだろう願っています。