语言资源文件的构造函数在WPF中生成为内部而不是公共

时间:2013-02-09 14:20:07

标签: c# wpf xaml constructor resources

namespace PcgTools.PcgToolsResources {
    using System;

   ... some comments
    global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Strings {

    private static global::System.Resources.ResourceManager resourceMan;

    private static global::System.Globalization.CultureInfo resourceCulture;

    [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
    internal Strings() {
    }

问题是最后一行:

internal Strings() {
}

在运行应用程序时返回XAML错误。上面的文件是生成的文件(来自strings.resx)。

我现在必须在每个资源文件更改为:

后更改该行
public Strings() {
}

有人知道要改变什么来让它由公众而不是内部自动生成?

2 个答案:

答案 0 :(得分:3)

可能的解决方案是使用自定义代码生成器。见那里:http://www.guysmithferrier.com/post/2008/09/Silverlight-And-Strongly-Typed-Resource-Classes.aspx

答案 1 :(得分:0)

复制How to change Resources.resx template,其中有以下接受的答案由Htin Aung撰写

enter image description here

您可以在资源文件中将Access Modifier更改为Public。