8

3 層アーキテクチャを表す 3 つのプロジェクトを持つ WPF アプリケーションがあります。1 つのプロジェクトが主プロジェクトとして設定されます。非メイン プロジェクトの 1 つにいくつかの XML ファイルがあります。これらの XML ファイルは、そのプロジェクトのクラスで定義された関数によってアクセスされます。

VS2010 ClickOnce を使用してアプリケーションを公開しようとすると、ファイルの Build Action to Content および Copy-to-OutputDirectory を Copy Always としてマークした後でも、XML ファイルがインストール ファイルに含まれません。インストールされたアプリケーションを実行すると、アプリケーションはファイルが見つからないと報告します。ClickOnce によって生成されたインストール フォルダーに Application_Files フォルダーが表示されますが、XML ファイルは含まれていません。

したがって、私の質問は、インストール フォルダーに XML ファイルを含め、アプリケーションの実行中にそれらの場所の URL を取得するにはどうすればよいかということです。

ありがとう、ナビーン

更新 1: アプリケーション ソリューション構造は、P1、P2、P3 などの 3 つのプロジェクトで構成されています。P3 はメインのスタートアップ プロジェクトです。P1 と P2 はクラス ライブラリ プロジェクトです。XML ファイルが P2 プロジェクトに追加されます。ファイルは Build Action -> Content and Copy -> Copy Always としてマークされています。ただし、これらのファイルは、アプリケーションの公開中に ClickOnce によってアプリケーションのデータ フォルダーにコピーされません。

4

2 に答える 2

6

シンプルなソリューション。公開したい yo プロジェクト ファイルを右クリックします。プロパティを選択します。次に、開いたウィンドウで公開を選択します。[アプリケーション ファイル] ボタンをクリックします。そこで、デフォルトで「データファイル」タイプの yo .xml ファイルを見つけます。含めるように変更します。リビルドを保存して公開すれば完了です。

それがそれを必要としている誰かを助けることを願っています。

于 2012-10-11T12:44:31.480 に答える
1

clickonceが使用する2つの場所があります。

  • メインの実行可能ファイルと必要なすべてのdllの場所
  • 実行可能ではないすべてのもの、つまりxmlなどのリソースの場所

したがって、アプリケーションディレクトリとデータディレクトリがあります。アプリケーションディレクトリのアドレス指定は、このように実行できますAppDomain.CurrentDomain.BaseDirectory

ただし、データディレクトリをアドレス指定する場合は、clickonceに固有の何かが必要ですApplicationDeployment.CurrentDeployment.DataDirectory

投稿で言及していないため、そのデータディレクトリを確認したかどうかはわかりません。

于 2011-04-05T06:43:25.863 に答える