私は同じ問題を抱えていましたが、最初は管理者として Visual Studio を起動するという同じ回避策を使用していました。
最後に、いくつかのテストを試みたところ、次のようになりました。web.config のファイルマップを作成すると、アプリケーションは管理者権限なしで構成をロードします。
http://msdn.microsoft.com/en-us/library/system.web.configuration.webconfigurationmanager.openmappedwebconfiguration(v=vs.110).aspxの例を使用しましたが、いくつかの変更があります。
public static Configuration GetConfiguration()
{
if (HostingEnvironment.ApplicationVirtualPath == "/")
return WebConfigurationManager.OpenWebConfiguration("~/web.config");
WebConfigurationFileMap fileMap = CreateFileMap(HostingEnvironment.ApplicationVirtualPath);
// Get the Configuration object for the mapped virtual directory.
return WebConfigurationManager.OpenMappedWebConfiguration(fileMap, HostingEnvironment.ApplicationVirtualPath);
}
private static WebConfigurationFileMap CreateFileMap(string applicationVirtualPath)
{
WebConfigurationFileMap fileMap =
new WebConfigurationFileMap();
// Get he physical directory where this app runs.
// We'll use it to map the virtual directories
// defined next.
string physDir = HostingEnvironment.ApplicationPhysicalPath;
// Create a VirtualDirectoryMapping object to use
// as the root directory for the virtual directory
// named config.
// Note: you must assure that you have a physical subdirectory
// named config in the curremt physical directory where this
// application runs.
VirtualDirectoryMapping vDirMap =
new VirtualDirectoryMapping(physDir, true);
// Add vDirMap to the VirtualDirectories collection
// assigning to it the virtual directory name.
fileMap.VirtualDirectories.Add(applicationVirtualPath, vDirMap);
// Create a VirtualDirectoryMapping object to use
// as the default directory for all the virtual
// directories.
VirtualDirectoryMapping vDirMapBase =
new VirtualDirectoryMapping(physDir, true, "web.config");
// Add it to the virtual directory mapping collection.
fileMap.VirtualDirectories.Add("/", vDirMapBase);
// Return the mapping.
return fileMap;
}
これはあまりクールな修正ではないと思いますが、機能し、#if DEBUG セクションに含めることができます。
これらを使用して、仮想パス設定を「/MyApplication」などに設定してVisual Studio Web開発サーバーを起動すると、管理者権限で起動された場合、権限がない場合には作成されないマッピングが作成されると推測しています。検証できなかった仮説にすぎません。
これが他の人に役立つことを願っています!