|
分類:[.NET 全般]
[環境] VS2005 VB.net .ntFramework2.0 WinXP
上記環境で作成しているソリューションに以下のファイルがあります ・相対パスでファイル(.xml)を参照している「クラスA」 ・上記クラスAのインスタンスをメンバとする「ユーザーコントロールB」 ・クラスAのインスタンスおよびユーザーコントロールBをメンバとする「フォームC」
クラスAからxmlファイルを参照する際に "../foldername/filename.xml"のような相対パスで指定して 開発環境の「debug」フォルダの隣に「foldarname」フォルダを作成して その直下に「filename.xml」を配置しました。 その後、クラスBおよびクラスCを作成してビルドしたのですが 「指定されたファイルがないからビルドできないよ」的なメッセージが表示されて ビルドに失敗します。 (開発環境は職場にあり、現在自宅から書き込みしておりますので 正確な文言を掲載する事ができず、申し訳ありません)
散々悩んだ結果、slnファイルからみて上記相対パスとなるようにxmlファイルを配置すると (日本語がおかしくてすみません) ビルドに成功しました。現在この状態で製造工程を進めています。
ただ…全く内容が同じファイルを2箇所に配置している状態が いいものなのかどうかがわかりません。 (「Debug」および「Release」フォルダ内の実行ファイルからの位置とslnファイルからの位置) 実際にリリースする時は実行ファイルからの位置にファイルを配置すればよいのでしょうか? それとも全く同じファイルを2箇所に配置する必要が発生するのでしょうか?
ユーザーコントロールBとフォームCの両方が クラスAをメンバとしている事自体が間違いでしょうか。 フォームCでクラスAをインスタンス化して それをユーザーコントロールBに渡すというやり方を した方がよいでしょうか。
質問文がわかりづらくて申し訳ありません。 お知恵をお貸しいただきますよう、よろしくお願いします。
|