internal VcProjectConfigurationElement(VcProjectContainerElement parent,
                                               VcProjectRootElement root, string tagName)
            : base(parent, root)
        {
            ProjectExceptions.NotNullNotEmpty(tagName, "tagName");

            _tagName    = tagName;
            _properties = new ProjectProperties();
        }
        private static void RequiresAll(string solutionFile, string platform,
                                        string configuration)
        {
            ProjectExceptions.PathMustExist(solutionFile, "solutionFile");

            string storageFile = Path.ChangeExtension(solutionFile, ".suo");

            if (File.Exists(storageFile))
            {
                // If the storage file exits, we could still extract the
                // platform and configuration information...
                return;
            }

            ProjectExceptions.NotNullNotEmpty(platform, "platform");
            ProjectExceptions.NotNullNotEmpty(configuration, "configuration");
        }