मैं एक अजीब समस्या में भाग गया। मेरे यूनिट परीक्षण में, मैं स्थानीय तारों को देखना चाहता हूं। हालांकि, मुझे यह काम नहीं मिल रहा है। उदाहरण के लिए, मैंने दो संसाधन बनाए: अंग्रेजी के लिए संसाधन 1.resx और चीनी के लिए संसाधन 1.zh-CN.resx। यूनिट टेस्ट प्रोजेक्ट केवल (डिफ़ॉल्ट?) अंग्रेजी संसाधन स्ट्रिंग प्राप्त कर सकता है।एमएसटीएस्ट प्रोजेक्ट को स्थानीयकृत स्ट्रिंग नहीं मिल सकती है?
ResourceManager actual = new ResourceManager(typeof(LocaleTest.Properties.Resource1));
string name0 = actual.GetString("Name", new CultureInfo("en-US"));
string name1 = actual.GetString("Name", new CultureInfo("zh-CN"));
मैं एक नियमित रूप से प्रोजेक्ट बनाया यकीन है कि स्थानीय तार काम कर रहे हैं (न कि किसी MSTest परियोजना का मतलब है): यह कोड मैं का उपयोग कर रहा है। इसलिए, यह एक नियमित परियोजना में काम करता है, लेकिन एमएसटीएस्ट प्रोजेक्ट में नहीं।
यह मदद नहीं की, भले ही मैं इकाई परीक्षण की वर्तमान संस्कृति के रूप में 'zh-CN' बनाने के लिए निम्न कोड डालें:
[TestInitialize()]
public void MyTestInitialize()
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("zh-CN");
Thread.CurrentThread.CurrentUICulture = new CultureInfo("zh-CN");
}
किसी को देखा है इसी तरह की समस्याओं? क्या कोई कामकाज है?
ओह, ग्रेट। वह इलाज है! धन्यवाद लाखों! हालांकि यह दिलचस्प है ... संसाधन.dll क्रमशः परियोजना की निर्देशिका का परीक्षण करने के लिए प्रतिलिपि बनाई गई है। इस विशेषता को जोड़ना फ़ाइल को प्रतिलिपि नहीं करता है (टाइमस्टैंप से)। हालांकि, इस विशेषता के बिना, यह काम नहीं करता है। – miliu
hahah mstest lol –
अच्छी पागल की पागलपन के लिए एक और चाक। मैं इसे अपने परीक्षण विधियों के शीर्ष पर '[परिनियोजन इटिम]' के साथ स्वच्छता में रखना चाहता हूं, मेरी फ़ाइल प्रतिलिपि जांचें: 'Assert.IsTrue (File.Exists (@ "nl \ Project.resources.dll"), "फ़ाइल नहीं मिली ");' – tomfanning