使用WebConfigurationManager读取包含自定义节的web.config,可以';t负载
本文关键字:可以 负载 config web 读取 WebConfigurationManager 包含 自定义 使用 | 更新日期: 2023-09-27 17:58:47
我正在尝试组装一个小型助手工具来加密web.config文件。
Linqpad示例:
var path = @"F:'project'";
var wcfm = new WebConfigurationFileMap();
wcfm.VirtualDirectories.Add("/",new VirtualDirectoryMapping(path,true));
var config = Configuration.WebConfigurationManager.OpenMappedWebConfiguration(wcfm,"/");
var c = config.Sections["customGroup"];
c.SectionInformation.ProtectSection(null);
config.Save();
这引发了一个异常:
Could not load file or assembly 'customGroupAssembly' or one of its dependencies.
The system cannot find the file specified
将程序集添加到LinqPad可修复errpr。我认为这是因为它现在是一个编译时引用。
将代码移到winforms应用程序中,重新引入了这个问题。
我正试图在运行时加载所需的程序集:
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
byte[] assemblyBuffer = File.ReadAllBytes(this.openFileDialog1.FileName);
AppDomain.CurrentDomain.Load(assemblyBuffer);
MessageBox.Show("Assembly loaded!");
}
然而,它似乎仍然找不到该文件。
有没有办法将自定义程序集加载到运行时应用程序域中,以便正确加载web配置?
尝试附加程序集解析侦听器,我遇到过这样一个问题,运行时加载的程序集没有得到正确解决,需要手动解决:
AppDomain.CurrentDomain.AssemblyResolve += (s,arg)=>{ ... }
在(…)处的代码返回您想要根据在arg
中获得的名称解析的程序集