В настоящее время я пытаюсь создать библиотеку классов Microsoft Runtime Component C#, предназначенную для Windows Phone 8.1, Windows 8.1 и Windows 10 Universal. Чтобы завершить это введение, моя среда работает под управлением Windows 8.1, и я использую Visual Studio 2015 как IDE.Build Windows Universal C# библиотека классов из командной строки
Чтобы автоматизировать процесс, в моей команде нам нужно скомпилировать эту библиотеку через командную строку, чтобы использовать полученный файл .winmd
в другом месте. Хотя решение и проект отлично компилируются с помощью IDE, мы не можем скомпилировать наш проект через командную строку Windows. После некоторого расследования мы обнаружили возможную команду, которая может работать, но мы получаем ошибки, которые говорят нам, что нам не хватает некоторых аргументов. Командная строка следующая:
C:\solutionDir>"C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe" project\project.csproj
После очистки проекта, и выполнение этой команды мы получаем кучу этих ошибок:
"C:\solutionDir\project\project.csproj" (default target) (1) ->
(CoreCompile target) ->
Class1.cs(2,15): error CS0234: The type or namespace name 'System'
does not exist in the namespace 'Windows' (are you missing an assembly
reference?) [C:\solutionDir\project\project.csproj]
Другие ошибки, но все приходящие из того же отсутствующее пространство имен «Windows», являются пропуском пространства имен с именем ApplicationModel
, Devices
, Security
и Networking
. Эти имена пространств имен являются частью интерфейса Windows RT C#, который выглядит так, как будто он отсутствует во время выполнения этой команды.
Как я уже сказал, похоже, что мы не указываем все аргументы, необходимые для достижения компиляции, или, возможно, мы не делаем это должным образом. Каков правильный способ создания библиотеки классов проекта VS C#, которая предназначена для универсальных приложений с командной строкой?