1

私にはいくつかのプロジェクトがあり、そのうちのいくつかはWebアプリケーションであり、いくつかはWindowsアプリケーションです。
すべてのプロジェクトが同じ接続文字列を使用するため、接続文字列などの設定をグローバル化したいと思いました。
そこで、この例に従って、.NETのプロジェクト間でカスタムアプリケーション構成設定を共有する方法を説明しました。

私のXMLファイルはクラスライブラリにあり、それは各プロジェクトで参照されています。Windowsプロジェクトは、クライアントプロジェクトでは次のようなファイルパスで正常に機能しています。

<configuration>
      <appSettings file="F:\Classes\ConnectionStringFile.xml">

      </appSettings>

    </configuration>

また、Webプロジェクトからこのxmlファイルを使用できるようにしたいと思います。ただし、前に示したように、Webプロジェクトはこのファイルへのパスを受け入れません。

この接続文字列ファイルをWindowsプロジェクトだけでなくWebプロジェクト間でも共有するための最良のアプローチ、つまり最良の解決策は何ですか。何を渡すのですか

<appSettings file ="~/classLibrary/ConnectionStringFile.xml"???`のようなもの

4

2 に答える 2

0

私たちが使用する解決策は、共有設定を CommonApplicationData フォルダーの下のカスタム フォルダー (例: Windows7 の C:\ProgramData) に保存することです。

var commonAppData = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
var settingsFilePath = Path.Combine(commonAppData, "MyProgram\\Settings.xml");
于 2013-01-29T14:51:32.390 に答える
0

file=は相対パスを受け入れ、*.config ファイルは ASP.NET および IIS 静的ファイル ルールから除外されるため、*.config ファイルを ASP.NET サイトに安全にドロップできます。mylibrary.configweb.config ファイル (Web アプリのルート)、 、およびの隣に配置するだけですfile="mylibrary.config"

于 2013-01-29T15:19:15.343 に答える