2017-01-30 4 views
1

Я не могу понять, как сделать сборку UWP в моей project (библиотека классов), которая определяет цели «netstandard1.3» и «uap10.0».Ошибка Тип или имя пространства имен «Сеть» не существует в пространстве имен «Windows» в целевом UWP, как исправить project.json в проекте с несколькими целевыми объектами

Я смог успешно создать проект UWP, если я создам его как отдельный проект типа UWP в мастере Visual Studio 2015, но я бы предпочел построить его как одну из целей в одном проекте с несколькими целевыми объектами (где I Затем добавьте больше целей).

{ 
    "version": "1.0.0-*", 
    "frameworks": { 
    "netstandard1.3": { 
     "dependencies": { 
     "NETStandard.Library": "1.6.0", 
     "Microsoft.Win32.Registry": "4.0.0", 
     "System.Collections.NonGeneric": "4.0.1", 
     "System.Collections.Specialized": "4.0.1", 
     "System.Net.NameResolution": "4.0.0", 
     "System.Net.NetworkInformation": "4.1.0", 
     "System.Net.Requests": "4.0.11", 
     "System.Net.Security": "4.0.0", 
     "System.Reflection": "4.1.0", 
     "System.Runtime.Extensions": "4.1.0", 
     "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", 
     "System.Security.Cryptography.Algorithms": "4.2.0", 
     "System.Security.Cryptography.Pkcs": "4.0.0", 
     "System.Security.Principal.Windows": "4.0.0", 
     "System.Threading.Thread": "4.0.0", 
     "System.Xml.XmlDocument": "4.0.1", 
     "System.Globalization.Extensions": "4.0.1" 
     } 
    }, 
    "uap10.0": { 
     "frameworkAssemblies": { 
     "System.Runtime": "", 
     "System.Runtime.Extensions": "", 
     "System.Windows": "" 
     }, 
     "dependencies": { 
      "Microsoft.NETCore.UniversalWindowsPlatform": "5.2.2", 
      "NETStandard.Library": "1.6.0", 
      "Microsoft.Win32.Registry": "4.0.0", 
      "System.Collections.NonGeneric": "4.0.1", 
      "System.Collections.Specialized": "4.0.1", 
      "System.Net.NameResolution": "4.0.0", 
      "System.Net.NetworkInformation": "4.1.0", 
      "System.Net.Requests": "4.0.11", 
      "System.Net.Security": "4.0.0", 
      "System.Reflection": "4.1.0", 
      "System.Runtime.Extensions": "4.1.0", 
      "System.Runtime.InteropServices.RuntimeInformation": "4.0.0", 
      "System.Security.Cryptography.Algorithms": "4.2.0", 
      "System.Security.Cryptography.Pkcs": "4.0.0", 
      "System.Security.Principal.Windows": "4.0.0", 
      "System.Threading.Thread": "4.0.0", 
      "System.Xml.XmlDocument": "4.0.1", 
      "System.Globalization.Extensions": "4.0.1" 
     }, 
     "buildOptions": { "define": [ "WINDOWS_UWP" ] } 
     } 
    } 
    } 
} 

Я не могу найти какой-нибудь простой пример того, как написать project.json для UWP библиотек (в идеале, мульти-целевой проект для UWP и не-UWP сразу). Поэтому я в основном использую пробную версию и ошибку (добавив те или иные разделы и перемещая их вокруг project.json), но без успеха.

Например, кажется, что рамкиAssemblies System.Runtime, System.Runtime.Extensions, System.Windows недействительны для UWP, но я не могу догадаться, какие из них должны быть там. Если этого раздела нет, он также не будет создан. Я честно потратил дни на чтение спецификаций project.json и все различия между его директивами, но он все еще размыт.

netstandard1.3 цель сборки без проблем. На самом деле, я был доволен созданием UWP как отдельного проекта, но это не масштабировалось, когда я тогда хотел добавить win8-wpa81 (я стараюсь поддерживать как можно больше платформ для моей библиотеки), и именно поэтому я решил мигрировать к одному проекту с многоцелевым проектом. json

ответ

0

Не все .NET API поддерживались в UWP. Вы можете обратиться к .NET for UWP apps

Я не знал, каков тип вашего проекта. Но если вы хотите совместиться с окнами 8.1 и Windows Phone 8.1. Я думаю, вы могли бы подумать о создании «Windows 8 - Universal - Windows Runtime Component (Portable for Universal Windows8.1)». Вы можете добавить ссылку на него в проекте UWP и win8-wp81

enter image description here

+0

Мой выбором для UWP был Class Library (Portable для прошивки и т.д.). В вашей ссылке не упоминается Windows.Networking. Опять же, у меня нет проблем при создании проекта UWP в качестве отдельного проекта. Вы описываете, как создать проект UWP. Я уже это сделал, и он работает. Мне интересно, можно ли «объединить» цель UWP в библиотеку классов .NET Core, которая будет иметь цель UWP в дополнение к цели netstandard1.3. Возможно ли иметь один проект, который может построить много diff. версии библиотеки классов, включая .NET Core, UWP, Win8 и т. д.? – Alex

+0

@Alex Думаю, это невозможно. –