首先,我想指出所有需要的访问渗透已经得到了。
private static IEnumerable<FileSystemAccessRule> GetDirectoryAccessRules(string directoryPath)
{
AuthorizationRuleCollection rules = Directory.GetAccessControl(directoryPath);
问题是如果directoryPath
包含'.'
'localhost'
,则会抛出异常。 (InvalidOperationException
)。如果在'.'
上更改'localhost'
,则位一切正常。
除了常规字符串修改之外,还有什么方法可以解决这种情况吗?像Path.Combine
等等?
答案 0 :(得分:1)
您可以简单地替换目录路径中第一次出现的字符点(。)
if (directoryPath.Contains('.') && directoryPath.IndexOf('.') != directoryPath.LastIndexOf('.'))
{
var regex = new Regex(Regex.Escape("."));
directoryPath = regex.Replace(directoryPath, ".", 1);
}