トップ回答者
別プロジェクトに含まれるコンテンツ(MDBファイル)が、ClickOnceの発行でコピーされてこない

質問
-
VB2005Expressで、MDBファイルのデータを編集するWindowsクライアントアプリケーションを開発しています。
今回1ソリューションに2プロジェクトを用意し、
プロジェクト1)Winクライアント本体のプロジェクト
プロジェクト2)MDBファイルを「コンテンツ」として配置し、DataSet、TableAdapter、およびデータ操作用自作クラス
という風に、アプリ部分とデータモデル部分とを分離して開発していました。
#1)は2)を参照
これでデバッグ、リリースともに問題なくビルドできていたのですが、
配布用にClickOnceをビルドしたところ、インストール後の起動時にエラーが出て動きません。
確認したところ、2)のプロジェクトのMDBファイルが、ClickOnceの.deployファイルに含まれてくれません。
ClickOnceの発行条件は1)のプロジェクトの「発行」画面で入力し、1)で発行しています。
「アプリケーションファイル→すべてのファイルを表示」で確認すると、確かにMDBファイルはここに含まれてくれません。
「コンテンツ」→「コンパイル」にすると、怒られて発行に失敗しました。「なし」でも含まれません。
発行するプロジェクト以外のプロジェクトに含まれる、「コンテンツ」ファイルはClickOnceの発行ファイルには含められないのではないかと疑っていますが、
なんとか含める方法はないでしょうか。
今回はアプリとMDBファイルを一体で運用する方が合理的な条件なので、アプリとMDBファイルを別々に入れる手順にはしたくないのです。
回答
-
>実はExpressでも、新規作成したプロジェクトに「プロジェクトの追加」を行うことで、2プロジェクト目が追加されソリューションフォルダにまとめられます。
ホントだ・・・こんな裏技が・・・(って常識かもですが。。。Expressあまりつかったことなかったです。)
で、「リンクとして追加」の件ですが、これはExpressでもできるはずですね。
手順は
1.発行プロジェクトを右クリックして
「追加」 → 「既存の項目」から、リンクしたいMDBファイルを選択する
2.「追加ボタン」の右側の▼をクリックして、「リンクとして追加」を選択する
以上でリンクされます。
※ ただし! VB2008Expressで確認しました。2005はもうダウンロード終了で手に入らないみたいです。
よろしくお願い致します。
- 編集済み Tetsuaki.Uchida 2011年5月19日 8:44 記述ミスがあったため
- 回答としてマーク wataru.kato 2011年5月19日 10:35
-
なるほど!「リンクとして追加」ボタンが使えたのですね!
そして今テストに無事成功しました。
ClickOnceでインストールした先にちゃんとMDBファイルが配置され、想定通りアプリが起動してDB内容をハンドルできました。
本当にありがとうございました。
おかげでアプリ側とデータ側を分離した開発工数が無駄にならずに済みました。
#VB2005Expressは、以前ダウンロードで入手できていたWebインストーラが手元に残っていれば、
#今でもそのインストーラを実行すればダウンロードインストールは可能なようです。
#30日認証のサービスも有効です。Microsoftさんが太っ腹で助かってます。
- 回答としてマーク wataru.kato 2011年5月19日 10:34
- 回答としてマークされていない wataru.kato 2011年5月19日 10:34
- 回答としてマーク wataru.kato 2011年5月19日 10:35
すべての返信
-
-
返信ありがとうございます。
実はExpressでも、新規作成したプロジェクトに「プロジェクトの追加」を行うことで、2プロジェクト目が追加されソリューションフォルダにまとめられます。
20プロジェクトくらい1ソリューションで扱っている開発物も普通に使ってますので、これについては製品版と遜色ないかと。
ただお話の
> 1.MDBファイルを発行するプロジェクトにリンクとして追加する
> 2.追加したリンクのプロパティから「コンテンツ」「新しい場合はコピーする」に設定するこの「リンク」という単語は、確かにExpressでは見つかりません…
単なるプロジェクト間での参照設定のお話ではないですよね。
ちなみにMDBファイル側は「コンテンツ」「常にコピーする」にしてあります。
-
>実はExpressでも、新規作成したプロジェクトに「プロジェクトの追加」を行うことで、2プロジェクト目が追加されソリューションフォルダにまとめられます。
ホントだ・・・こんな裏技が・・・(って常識かもですが。。。Expressあまりつかったことなかったです。)
で、「リンクとして追加」の件ですが、これはExpressでもできるはずですね。
手順は
1.発行プロジェクトを右クリックして
「追加」 → 「既存の項目」から、リンクしたいMDBファイルを選択する
2.「追加ボタン」の右側の▼をクリックして、「リンクとして追加」を選択する
以上でリンクされます。
※ ただし! VB2008Expressで確認しました。2005はもうダウンロード終了で手に入らないみたいです。
よろしくお願い致します。
- 編集済み Tetsuaki.Uchida 2011年5月19日 8:44 記述ミスがあったため
- 回答としてマーク wataru.kato 2011年5月19日 10:35
-
なるほど!「リンクとして追加」ボタンが使えたのですね!
そして今テストに無事成功しました。
ClickOnceでインストールした先にちゃんとMDBファイルが配置され、想定通りアプリが起動してDB内容をハンドルできました。
本当にありがとうございました。
おかげでアプリ側とデータ側を分離した開発工数が無駄にならずに済みました。
#VB2005Expressは、以前ダウンロードで入手できていたWebインストーラが手元に残っていれば、
#今でもそのインストーラを実行すればダウンロードインストールは可能なようです。
#30日認証のサービスも有効です。Microsoftさんが太っ腹で助かってます。
- 回答としてマーク wataru.kato 2011年5月19日 10:34
- 回答としてマークされていない wataru.kato 2011年5月19日 10:34
- 回答としてマーク wataru.kato 2011年5月19日 10:35