Reputation: 4969
I'm trying to add a self made NuGet package, built automatically with Visual Studio 2017 to a UWP Xamarin Forms project.
However when I try add the package to the UWP package (in VS2017 package manager) it fails.
Restoring packages for C:\Development\MyMobile\JobApp\JobApp\JobApp.UWP\project.json...
System.Threading.ThreadPool 4.3.0 provides a compile-time reference assembly for System.Threading.ThreadPool on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm.
System.Threading.Thread 4.3.0 provides a compile-time reference assembly for System.Threading.Thread on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm.
System.Diagnostics.Process 4.3.0 provides a compile-time reference assembly for System.Diagnostics.Process on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm.
One or more packages are incompatible with UAP,Version=v10.0 (win10-arm).
System.Threading.ThreadPool 4.3.0 provides a compile-time reference assembly for System.Threading.ThreadPool on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm-aot.
System.Threading.Thread 4.3.0 provides a compile-time reference assembly for System.Threading.Thread on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm-aot.
System.Diagnostics.Process 4.3.0 provides a compile-time reference assembly for System.Diagnostics.Process on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-arm-aot.
One or more packages are incompatible with UAP,Version=v10.0 (win10-arm-aot).
System.Threading.ThreadPool 4.3.0 provides a compile-time reference assembly for System.Threading.ThreadPool on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64.
System.Threading.Thread 4.3.0 provides a compile-time reference assembly for System.Threading.Thread on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64.
System.Diagnostics.Process 4.3.0 provides a compile-time reference assembly for System.Diagnostics.Process on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64.
One or more packages are incompatible with UAP,Version=v10.0 (win10-x64).
System.Threading.ThreadPool 4.3.0 provides a compile-time reference assembly for System.Threading.ThreadPool on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64-aot.
System.Threading.Thread 4.3.0 provides a compile-time reference assembly for System.Threading.Thread on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64-aot.
System.Diagnostics.Process 4.3.0 provides a compile-time reference assembly for System.Diagnostics.Process on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x64-aot.
One or more packages are incompatible with UAP,Version=v10.0 (win10-x64-aot).
System.Threading.ThreadPool 4.3.0 provides a compile-time reference assembly for System.Threading.ThreadPool on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86.
System.Threading.Thread 4.3.0 provides a compile-time reference assembly for System.Threading.Thread on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86.
System.Diagnostics.Process 4.3.0 provides a compile-time reference assembly for System.Diagnostics.Process on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86.
One or more packages are incompatible with UAP,Version=v10.0 (win10-x86).
System.Threading.ThreadPool 4.3.0 provides a compile-time reference assembly for System.Threading.ThreadPool on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86-aot.
System.Threading.Thread 4.3.0 provides a compile-time reference assembly for System.Threading.Thread on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86-aot.
System.Diagnostics.Process 4.3.0 provides a compile-time reference assembly for System.Diagnostics.Process on UAP,Version=v10.0, but there is no run-time assembly compatible with win10-x86-aot.
One or more packages are incompatible with UAP,Version=v10.0 (win10-x86-aot).
Package restore failed. Rolling back package changes for 'JobApp.UWP'.
Time Elapsed: 00:00:02.8217814
========== Finished ==========
I've edited project.json for the UWP project to try and adding in netstandard1.6 and System.* dependencies, but sadly didn't work.
{
"dependencies": {
"Microsoft.NETCore.UniversalWindowsPlatform": "5.3.3",
"MvvmLight": "5.3.0",
"Newtonsoft.Json": "10.0.2",
"Xamarin.Forms": "2.3.4.231",
"System.Threading": "4.3.0",
"System.Runtime": "4.3.0",
"System.Diagnostics.Process": "4.3.0",
"System.Threading.Thread": "4.3.0",
"System.Threading.ThreadPool": "4.3.0"
},
"frameworks": {
"uap10.0": {
"imports": "netstandard1.6"
}
},
"runtimes": {
"win10-arm": {},
"win10-arm-aot": {},
"win10-x86": {},
"win10-x86-aot": {},
"win10-x64": {},
"win10-x64-aot": {}
}
}
Why is UWP having problems with System.* references?
Here is the NuSpec for my package;
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2012/06/nuspec.xsd">
<metadata>
<id>MyCommon</id>
<version>1.0.131</version>
<requireLicenseAcceptance>false</requireLicenseAcceptance>
<dependencies>
<group targetFramework=".NETFramework4.6">
<dependency id="Quartz" version="3.0.0-alpha2" exclude="Build,Analyzers" />
<dependency id="ImageSharp" version="1.0.0-alpha5-00046" exclude="Build,Analyzers" />
<dependency id="System.ComponentModel" version="4.3.0" exclude="Build,Analyzers" />
</group>
<group targetFramework=".NETStandard1.6">
<dependency id="Quartz" version="3.0.0-alpha2" exclude="Build,Analyzers" />
<dependency id="NETStandard.Library" version="1.6.1" exclude="Build,Analyzers" />
<dependency id="ImageSharp" version="1.0.0-alpha5-00046" exclude="Build,Analyzers" />
<dependency id="System.ComponentModel" version="4.3.0" exclude="Build,Analyzers" />
</group>
</dependencies>
</metadata>
</package>
Upvotes: 1
Views: 455
Reputation: 3476
Your NuGet package is referencing Quartz 3.0.0-alpha2
, which references System.Threading.Thread
and System.Threading.ThreadPool
.
These two packages (System.Threading.Thread
and System.Threading.ThreadPool
) are not supported on Universal Windows Platform, at least not at this moment.
Here, Immo Landwerth (program manager on the .NET team) says:
- UWP currently only supports .NET Standard 1.4
- Our goal is to eventually extend UWP to also implement .NET Standard 2.0. Once that happens, UWP will also support
Thread
.
Here are some GitHub issues where you can read more about this topic:
System.Threading.Thread
should support all runtimes,System.Threading.Thread
in .NET Standard?, andSystem.Threading.Thread
.Upvotes: 2