複数のアセンブリが同じテキスト ファイルにアクセスできるようにする

StackOverflow https://stackoverflow.com/questions/101238

質問

同じ 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 を共有できるかどうかはわかりません。

プロジェクトにはビルド イベントを含めることができます。必要なすべての場所にファイルをコピーするビルド後イベントを追加してみてはいかがでしょうか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top