2015-05-01 2 views
3

У меня возникла проблема с диагностикой проблемы с зависимостями с использованием последней версии (5/1/2015) версии Visual Studio 2015 RC 14.0.22823.1 D14REL.CurrentCulture не доступен в DNX Core 5.0

Следующий код не компиляции и бросает эту ошибку:

Severity Code Description Project File Line 
Error CS1061 
'Thread' does not contain a definition for 'CurrentCulture' and no 
extension method 'CurrentCulture' accepting a first argument of type 
'Thread' could be found (are you missing a using directive or an assembly 
reference?) 
ServiceLibrary.DNX Core 5.0 


using System; 
using System.Globalization; 
using System.Threading; 

namespace ServiceLibrary 
{ 
    public class CultureService 
    { 
     public void SetCulture(string cultureCode = "fr-FR") 
     { 
      Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureCode); 
     } 
    } 
} 

наведя курсор мыши на CultureInfo Visual Studio отображает всплывающее окно, которое отображает: enter image description here

Вот project.json

{ 
    "version": "1.0.0-*", 
    "description": "", 
    "authors": [ "" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
    "System.Threading": "4.0.10-beta-22816", 
    "System.Threading.Thread": "4.0.0-beta-22816", 
    "System.Globalization": "4.0.10-beta-22816" 
    }, 

    "frameworks": { 
    "dnx451": { }, 
    "dnxcore50": { 
     "dependencies": { 
     "System.Collections": "4.0.10-beta-22816", 
     "System.Linq": "4.0.0-beta-22816", 
     "Microsoft.CSharp": "4.0.0-beta-22816", 

     } 
    } 
    } 
} 

Я надеюсь, что кто-то может помочь выяснить, где проблема.

Благодаря

+0

Я нашел ответ и опубликую его, как только StackOverFlow позволит мне. – ChiliYago

+0

который ... ???? – cleftheris

ответ

2

Культура Namespaces находятся в разных местах между DNCCORE50 и полномасштабным DNX451 поэтому вы должны использовать директивы компилятора. Надеюсь это поможет.

#if DNX451 
      Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureCode); 
#elif DNXCORE50 
      CultureInfo.CurrentCulture = new CultureInfo(cultureCode); 
#else 
#error No Implementation for the target DNX 
#endif 
+0

У вас есть дополнительная информация/ссылка на это решение? У меня такая же проблема, но это решение не будет работать для меня. – Sam