Exemplo n.º 1
0
        public ConfigSettings GetConfig(string directoryOrFile)
        {
            string path = NormalizePath(directoryOrFile);

            var containingDirectory = path; // Path.GetDirectoryName(Path.GetFullPath(path));

            while (IsNotRoot(containingDirectory))
            {
                var configLocation = Path.Combine(containingDirectory, "storevil.config");

                if (_filesystem.FileExists(configLocation))
                    return BuildConfigSettings(path, configLocation);

                var csproj = FindCsProj(containingDirectory);
                if (csproj != null)
                {
                    return GetConfigFromCsProj(containingDirectory, csproj);
                }

                var parent = Directory.GetParent(containingDirectory);
                
                if (parent == null)
                    return ConfigSettings.Default();

                containingDirectory = parent.FullName;
            }

            return ConfigSettings.Default();
        }
Exemplo n.º 2
0
 private ConfigSettings GetConfigFromCsProj(string containingDirectory, string csproj)
 {
     var proj = new CsProjParser(_filesystem.GetFileText(csproj));
     var settings =  ConfigSettings.Default();
     settings.AssemblyLocations = proj.GetAssemblyLocations();
     settings.StoryBasePath = containingDirectory;
     return settings;
 }