diff --git a/build/Resources.tt b/build/Resources.tt index 57503ce8da..acd9718401 100644 --- a/build/Resources.tt +++ b/build/Resources.tt @@ -53,47 +53,48 @@ }); } } - string outputNamespace = Host.ResolveParameterValue("directiveId", "namespaceDirectiveProcessor", "namespaceHint") ?? projectName; -#> -// + GenerationEnvironment.AppendFormat( +@"// -namespace <#= outputNamespace #> -{ +namespace {0} +{{ using System.Globalization; using System.Reflection; using System.Resources; - internal static class <#= fileName #> - { + internal static class {1} + {{ private static readonly ResourceManager _resourceManager - = new ResourceManager("<#= projectName + "." + fileName #>", typeof(<#= fileName #>).GetTypeInfo().Assembly); -<# - foreach (var resourceString in resourceStrings) - { - #> - - /// -<# foreach (var line in resourceString.Value.Split(new[] { Environment.NewLine }, StringSplitOptions.None)) { #> - /// <#= line.Replace("<", "<").Replace(">", ">") #> -<# } #> - /// - internal static string <#= resourceString.Name #><#= resourceString.ArgsCount > 0 ? resourceString.ParamsArray : string.Empty #> - { - <# - if (resourceString.ArgsCount == 0) - { - #>get { return GetString("<#= resourceString.Name #>"); } -<# - } - else - { - #>return string.Format(CultureInfo.CurrentCulture, GetString("<#= resourceString.Name #>"), <#= resourceString.ArgsArray #>); -<# - }#> - } -<# - }#> - + = new ResourceManager(""{0}.{1}"", typeof({1}).GetTypeInfo().Assembly); +", projectName, fileName); + foreach (var resourceString in resourceStrings) + { + GenerationEnvironment.AppendLine(); + GenerationEnvironment.AppendFormat(@" /// ").AppendLine(); + foreach (var line in resourceString.Value.Split(new[] { Environment.NewLine }, StringSplitOptions.None)) + { + GenerationEnvironment.AppendFormat(" /// {0}", line.Replace("<", "<").Replace(">", ">")) + .AppendLine(); + } + GenerationEnvironment.AppendFormat( +@" /// + internal static string {0}{1} + {{ +", resourceString.Name, resourceString.ArgsCount > 0 ? resourceString.ParamsArray : string.Empty); + if (resourceString.ArgsCount == 0) + { + GenerationEnvironment.AppendFormat( +@" get {{ return GetString(""{0}""); }}", resourceString.Name); + } + else + { + GenerationEnvironment.AppendFormat( +@" return string.Format(CultureInfo.CurrentCulture, GetString(""{0}""), {1});", resourceString.Name, resourceString.ArgsArray); + } + GenerationEnvironment.AppendLine().Append( +@" }").AppendLine(); + } + GenerationEnvironment.Append(@" private static string GetString(string name) { string value = _resourceManager.GetString(name); @@ -102,6 +103,8 @@ namespace <#= outputNamespace #> } } } +"); +#> <# string outputPath = Path.Combine(ttDirectory, fileName + ".Designer.cs"); bool fileExists = File.Exists(outputPath);