コード例 #1
0
        /// <summary>
        /// Writes the section using an XML writer
        /// </summary>
        /// <param name="writer">XML writer to use</param>
        /// <param name="project">The project to generate .csproj for</param>
        /// <param name="context">Current .csproj generation context</param>
        public override void Write(XmlWriter writer, Project project, IMSBuildProjectGeneratorContext context)
        {
            writer.WriteStartElement("PropertyGroup");
            writer.WriteAttributeString("Condition", " '$(Configuration)|$(Platform)' == 'Bari|Bari' ");
            WriteConfigurationSpecificPart(writer, project);
            writer.WriteEndElement();

            writer.WriteStartElement("PropertyGroup");

            // Writing out configuration specific part to the non conditional block as well
            WriteConfigurationSpecificPart(writer, project);

            writer.WriteElementString("OutputType", GetOutputType(project.Type));
            writer.WriteElementString("AssemblyName", project.Name);
            writer.WriteElementString("ProjectGuid", projectGuidManagement.GetGuid(project).ToString("B"));

            CsharpProjectParameters parameters = project.GetInheritableParameters <CsharpProjectParameters, CsharpProjectParametersDef>("csharp");

            parameters.FillProjectSpecificMissingInfo(project);
            parameters.ToCsprojProperties(writer);

            WriteAppConfig(writer, project);
            if (!WriteWin32Resource(writer, project))
            {
                WriteManifest(writer, project);
                WriteApplicationIcon(writer, project, parameters);
            }

            writer.WriteEndElement();
        }
コード例 #2
0
        private string PrefixWithRootNamespace(Project project, string path)
        {
            CsharpProjectParameters parameters = project.GetInheritableParameters <CsharpProjectParameters, CsharpProjectParametersDef>("csharp");

            parameters.FillProjectSpecificMissingInfo(project);

            return(parameters.RootNamespace + "." + path);
        }
コード例 #3
0
        private string PrefixWithRootNamespace(Project project, string path)
        {
            CsharpProjectParameters parameters = project.HasParameters("csharp")
                                                     ? project.GetParameters <CsharpProjectParameters>("csharp")
                                                     : new CsharpProjectParameters(Suite);

            parameters.FillProjectSpecificMissingInfo(project);

            return(parameters.RootNamespace + "." + path);
        }
コード例 #4
0
 private void WriteApplicationIcon(XmlWriter writer, Project project, CsharpProjectParameters parameters)
 {
     if (project.Type == ProjectType.Executable ||
         project.Type == ProjectType.WindowsExecutable)
     {
         if (!String.IsNullOrWhiteSpace(parameters.ApplicationIcon))
         {
             string iconPath = Path.Combine(project.RelativeRootDirectory, "resources", parameters.ApplicationIcon);
             writer.WriteElementString("ApplicationIcon", ToProjectRelativePath(project, iconPath, "cs"));
         }
     }
 }