我认为Visual Studio 2017中存在一个生成资源文件的错误。我创建了一个简单的项目,该项目在VS2017和VS2012中执行以下操作
namespace RSLanguageTranslationTester
{
class Program
{
static void Main(string[] args)
{
while (true) // Loop indefinitely
{
Console.WriteLine("Internal" + Resources.Resource1.ResourceManager.GetString("TEST", new System.Globalization.CultureInfo("en-GB")));
Console.WriteLine("Internal" + Resources.Resource1.ResourceManager.GetString("TEST", new System.Globalization.CultureInfo("es")));
Console.WriteLine("Internal" + Resources.Resource1.ResourceManager.GetString("TEST", new System.Globalization.CultureInfo("de")));
if (Console.ReadLine() == "q") // Check string
{
break;
}
}
}
}
}
2012年,我得到了输出 这是英文 这是德国人 这是西班牙语
2017年我得到了输出 这是英文 这是英文 这是英文
两个项目相同,两个项目中的资源文件都设置为public,而自定义工具设置为PublicResXFileCodeGenerator。有人对此有经验吗?它是一个.net 3.5项目,因为它需要导入到Reporting Services 2008 R2中。
文件夹结构为
Resources
-->Resource1.de.resx
-->Resource1.es.resx
-->Resource1.resx
Program.cs