2011-04-05 7 views
8

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

VS2010のClickOnceを使用してアプリケーションを公開しようとすると、ファイルのビルドアクションをコンテンツに、そしてCopy-to-OutputDirectoryを常にコピーとマークしても、XMLファイルはインストールファイルに含まれません。インストールされているアプリケーションを実行すると、アプリケーションはファイルが見つからないと報告します。 ClickOnceによって生成されたインストールフォルダにApplication_Filesフォルダがありますが、XMLファイルは含まれていません。

私の質問は、XMLファイルをインストールフォルダに含める方法と、アプリケーションを実行しているときに場所URLを取得する方法です。

おかげで、 のNaveen

アップデート1:塗布液構造は3つのプロジェクトで構成さ は、P1、P2、およびP3を言います。 P3は主なスタートアッププロジェクトです。 P1とP2はクラスライブラリプロジェクトです。 XMLファイルがP2プロジェクトに追加されます。ファイルは、ビルドアクション - >コンテンツとコピー - >常にコピーとマークされます。ただし、これらのファイルは、アプリケーションの公開中にClickOnceによってアプリケーションのデータフォルダにコピーされません。

答えて

1

は、2箇所のClickOnceのは、そこに使用しています:

  • 実行可能ではありませんメイン実行ファイルとすべてのために必要なすべてのDLLの
  • 場所の位置、すなわちリソースを、あなたのXMLのよう

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

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

あなたがあなたの投稿にそれを言及していないので、あなたがそのデータディレクトリをチェックしたかわかりません。

+1

ありがとうございました。私はデータディレクトリアドレスを与えることを試みた。しかし、この問題は、XMLファイル自体がアプリケーションの公開中にコピーされていないことが原因と考えられます。メインプロジェクトの下にXMLファイルがある場合、そのファイルはClickOnceによって作成されたフォルダにコピーされます。しかし、私のXMLファイルはメインプロジェクトにはありません。それらは非メインプロジェクトに追加されます。セットアップファイルでフォルダを確認しましたが、そこに自分のXMLファイルが見つかりませんでした。 – naveen

6

シンプルなソリューション。 公開するプロジェクトファイルを右クリックします。 プロパティを選択します。 次に、開いているウィンドウで公開を選択します。 [アプリケーションファイル]ボタンをクリックします。 デフォルトでは 'データファイル'タイプのyo .xmlファイルが見つかります。それをIncludeに変更します。 保存して再構築し、公開してください。

それが必要な人に役立つことを願っています。

関連する問題