複数のアセンブリが同じテキスト ファイルにアクセスできるようにする
-
01-07-2019 - |
質問
同じ C#/.net ソリューション内に多くのアセンブリ/プロジェクトがあります。Web アプリケーション GUI を使用して設定を保存する必要があり、コンソール アプリと一部のテスト プロジェクトが同じファイルにアクセスする必要があります。ファイルをどこに置き、どのようにアクセスすればよいですか?
「AppDomain.CurrentDomain.BaseDirectory」を使用しようとしましたが、それは私のアセンブリでは異なります。また、「System.Reflection.Assembly.Get*Assembly.Location」でも必要なものが得られません。
おそらくこれはファイルではなくデータベースに保存すべきものなのでしょうか?しかし、数行の設定でそれを行うのは非常に複雑に感じられます。
解決
個人的には、データベースを利用するでしょう。その理由は、代替手段は設定に頭を悩ませるか、価値以上に面倒だからです。
あなた できた 同じファイルを指すように各アプリケーションを構成しますが、ファイルを移動する場合には問題が発生します。あるいは、ファイルを管理するサービスを作成してクライアントに公開することもできますが、この時点では DB を使用するだけでもよいでしょう。
他のヒント
ファイルを入れてください
Path.Combine(
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData),
"[Company Name]\[Application Suite]");
レジストリまたは分離ストレージに保存することを考えましたか?ただし、複数のアプリケーションが Isolated Storage を共有できるかどうかはわかりません。
プロジェクトにはビルド イベントを含めることができます。必要なすべての場所にファイルをコピーするビルド後イベントを追加してみてはいかがでしょうか?
所属していません StackOverflow