2017-01-18 25 views
0

Я пытаюсь скомпилировать UWP C# решение для Raspberry Pi 2. Вот project.json:для Windows 10 IoT ARM (Raspberry Pi) System.Threading - отсутствуют ссылки

{ 
"dependencies": { 
    "Microsoft.NETCore.UniversalWindowsPlatform": "5.0.0", 
}, 
"frameworks": { 
    "uap10.0": { 
    "imports": [ 
    ] 
    } 
}, 
"runtimes": { 
    "win10-arm": {}, 
    "win10-arm-aot": {}, 
    "win10-x86": {}, 
    "win10-x86-aot": {}, 
    "win10-x64": {}, 
    "win10-x64-aot": {} 
    } 
} 

Проблема заключается в том что im ссылается (по dll, я не мог добавить его по обычной ссылке на проект) в другой проект, который использует System.Threading для некоторых операций с потоками. Вот project.json:

{ 
"version": "1.0.0-*", 

"dependencies": { 
    "ELMSDefinitionsCore": "1.0.0-*", 
    "NETStandard.Library": "1.6.1", 
    "System.ComponentModel.Primitives": "4.2.0", 
    "System.Xml.XmlSerializer": "4.2.0", 
    "UniversalSerialPort": "1.0.0-*", 
    "System.Security.Cryptography.Algorithms": "4.0.0", 
    "System.Threading.Thread": "4.3.0" 
}, 

"frameworks": { 
    "netcoreapp1.1": 
{ 
    "imports": "dnxcore50", 
    "dependencies": 
    { 
     "Microsoft.NETCore.App": 
    { 
     "type": "platform", 
     "version": "1.1.0" 
     } 
    } 
}, 
"netstandard1.4": 
{ 
     "imports": "dnxcore50" 
}, 

"net462": { 
    "dependencies": { 
    } 
} 
} 
} 

При компиляции я получаю несколько предупреждений, как это:

C: \ Program Files (x86) \ MSBuild \ Microsoft.NetNative \ ARM \ ILC \ IlcInternals.targets (936,5): warning: ILTransform_0003: Method 'GroupSelect.StartGroupLoop (byte [])' всегда будет вызывать исключение из-за недостающего метода «ThreadStart..ctor (object, IntPtr)». Возможно, отсутствовала сборка.

Все предупреждения относятся к справочной библиотеке.

Я попытался решение от этой темы, но ничего не помогло: Can't find System.Threading 4.0.10 on Raspberry Pi on Windows 10 IoT

+0

Непосредственно связано с OP. Вы не используете ARMv8 специально? – InfinitelyManic

+0

Почему вы спрашиваете? Я использую Raspberry Pi 2 (ARMv7), который был у меня на складе. –

+0

Я спрашиваю, потому что вижу x64; поэтому я предполагаю, что большая картина состоит в том, чтобы скомпилировать несколько арков. – InfinitelyManic

ответ

0

я решил проблему.

Прежде всего - в каждом проекте, на который ссылается проект UWP это хорошо иметь конфигурацию UWP (пример из него):

"uap10.0": { 
     "imports": "dnxcore50", 
       "runtimes": { 
     "win10-arm": {}, 
     "win10-arm-aot": {}, 
     "win10-x86": {}, 
     "win10-x86-aot": {}, 
     "win10-x64": {}, 
     "win10-x64-aot": {} 
     }, 
     "dependencies": {"System.Threading.Thread": "4.0.10.0" } 
} 

Вторая вещь - вы не можете использовать темы в UWP приложение. Вы должны переписать свои потоки в async, wait и использовать Задача вместо.