Я создал решение VS2017, содержащее одну библиотеку примеров, нацеленную на .NETStandard 1.4.
К этому я добавил один класс:
using System;
namespace ExampleNetstandard
{
public class Example
{
public string A { get; set; }
}
}
Из визуальной студии он компилируется нормально, но если вы очистите каталоги bin и obj, а затем выполните сборку из msbuild, используя: msbuild ExampleNetstandard.sln / t: Build / p: Configuration = Release / p: Platform = "Any CPU"
Я получаю следующую ошибку:
C: \ Users \ Aaron \ AppData \ Local \ Temp.NETStandard, Version = v1.4.AssemblyAttributes.cs (4,20): ошибка CS0400: тип или имя пространства имен «Система» не может быть найдено в глобальном пространстве имен (вам не хватает ссылки на сборку?) [D: \ src \ Example Netstandard \ ExampleNetstandard.csproj] obj \ Release \ netstandard1.4 \ ExampleNetstandard.AssemblyInfo.cs (6,12): ошибка CS0246: имя типа или пространства имен ' System 'не удалось найти (вам не хватает директивы using или ссылки на сборку?) [D: \ src \ ExampleNetstandard \ ExampleNets tandard.csproj]
Есть ли что-то конкретное, что мне нужно сделать, чтобы получить такой проект для сборки из msbuild? Я исследую это, поскольку наш сервер TeamCity выдает эту ошибку в реальном проекте.
dotnet restore
, за которым следуетdotnet build ExampleNetstandard.sln -c Release
? Если да, то будет ли это подходящим изменением для вашего сервера TeamCity? - person Jon Skeet   schedule 04.04.2017<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard1.4</TargetFramework> </PropertyGroup> </Project>
- person Aaron0   schedule 04.04.2017