Я пытался централизовать web.config / app.config, используя одну утилиту.Я могу преобразовать все файлы app.config в любую папку, но я застрял с web.config.Кажется, webconfigurationmanager не будет работать вне виртуального каталога.Поэтому я пытался реализовать метод шифрования-дешифрования aspnet_regiis в своем инструменте.
private void RunProcess(string processName, string arguments)
{
var newProcess = new ProcessStartInfo(processName);
//Log("User: " + GetSystemName());
if (null != arguments && arguments.Any())
{
newProcess.Arguments = arguments;
newProcess.CreateNoWindow = true;
newProcess.ErrorDialog = true;
newProcess.RedirectStandardError = true;
newProcess.RedirectStandardOutput = true;
newProcess.UseShellExecute = false;
}
using (var proc = new Process())
{
proc.StartInfo = newProcess;
proc.Start();
Console.WriteLine(proc.StandardOutput.ReadToEnd());
proc.WaitForExit();
}
}
private void Encrypt(string path)
{
string framework = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe";
if (8 == IntPtr.Size
|| (!String.IsNullOrEmpty(Environment.GetEnvironmentVariable("PROCESSOR_ARCHITEW6432"))))
framework = @"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe";
RunProcess(framework, " -pef \"connectionStrings\" \"C:\\Users\\xxx\\Desktop\\somefolder\" –prov \"DataProtectionConfigurationProvider\"");
}
Мои сомнения:
"-pef \" connectionStrings \ "\" C: \ Users \ xxx \ Desktop \ somefolder \ "–prov \" DataProtectionConfigurationProvider \ ""
Я уверен, что я делаю здесь какую-то ошибку, команда просто не выполняется.Это дает мне опции справки aspnet_regiis.