VS2012 には、4 つのプロジェクトを含むソリューションがあります。メインの web.config 以外の他のプロジェクトから別の web.config ファイルにアクセスできるかどうかに興味がありました。同じソリューションにメイン プロジェクト ( Project A ) と他の 3 つのプロジェクト (B、C、D) があります。プログラムをコンパイルして実行すると、すべての system.web 設定がプロジェクト Aから収集されて使用されます。プロジェクト Aの web.config ファイルでは、プロファイル タグです。プロジェクト B、C、D の web.config ファイルには、プロファイル タグも含まれています。ソリューションはプロジェクト Aの web.config ファイルをデフォルトの web.config として使用するため、他の web.config ファイルのプロファイル タグにアクセスするにはどうすればよいでしょうか?
プロジェクト Bからプロファイル アプリケーション名を取得したいとします。その web.config ファイルにアクセスするにはどうすればよいですか? 次を使用して web.config ファイルにアクセスしようとしたとき:
ProfileManager.Providers["Profile1"].ApplicationName;
のproject B
web.config ファイルでは、 のアプリケーション名が表示されProfile1
ます。
「ProjectB」でプロファイルを作成しようとしていますProfileBase
が、system.web 構成では、profileBase
デフォルトのプロファイル プロバイダーはPROJECT A の「Profile1」であると表示されています。そのため、プロジェクト Bの web.config ファイルはヒットせず、Visual Studio はプロジェクト A のweb.config ファイルを使用するようにプログラムをコンパイルしました。
//this is hitting profilebase from projectA, not B where I am calling the create
//(inside projectB so it uses B's web.config file or so I thought).
System.Web.Profile.ProfileBase.Create(userName);
基本的に、プロジェクト Bの web.config ファイルからプロファイル タグにアクセスする方法を見つけようとしています。メインの web.config ファイルがProject Aにある場合。B の web.config プロファイル属性を使用してプロジェクト Bでプロファイルを作成しようとすると、問題が発生します。プログラムはProject Aの web.config プロファイルベースにプロファイルを作成するだけで、別の Web 構成ファイルに正しくアクセスしていないことがわかります。
この問題に関するヘルプは大歓迎です。同じソリューション内の異なるプロジェクトからプロファイルにアクセスしようとしています。これまでのところ、メイン プロジェクトのメイン web.config ファイルを使用してプロファイルを作成する方法しかわかりません。
元。
プロジェクトAで
profile
add name="profile1"
/profile
プロジェクトBで
profile
add name="profile2"
/profile
したがって、プロジェクト Aでは、プロジェクト Bのプロファイルと名前にアクセスできるようにしたいと考えています。これはすべて、プロジェクト Bのプロファイル ベースで作成を実行するためのものです。そのため、プロジェクト Bのプロファイルは A で作成され、Bに保存されます。B で作成を呼び出して、B のプロファイル ベースを使用しようとしました (B の Web .config プロファイル タグ) ですが、そうではありませんでした。プログラムは、プロジェクト A の web.config を作成し、A に保存しました。
4つのプロジェクトはすべて「出力タイプ:クラスライブラリ」と言われています