【发布时间】:2017-08-29 07:18:34
【问题描述】:
我创建了一个 VS2017 解决方案,其中包含一个针对 .NETStandard 1.4 的示例库
为此我添加了一个类:
using System;
namespace ExampleNetstandard
{
public class Example
{
public string A { get; set; }
}
}
从visual studio它编译得很好,但如果你清除bin和obj目录,然后使用msbuild从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\ExampleNetstandard\ExampleNetstandard.csproj] obj\Release\netstandard1.4\ExampleNetstandard.AssemblyInfo.cs(6,12): 错误 CS0246:找不到类型或命名空间名称“系统” (您是否缺少 using 指令或程序集引用?) [D:\src\ExampleNetstandard\ExampleNets tandard.csproj]
我需要做些什么才能从 msbuild 构建这种项目吗?我正在调查这个问题,因为我们的 TeamCity 服务器在实际项目中抛出了这个错误
【问题讨论】:
-
您也可以发布 csproj 文件吗?它应该很短。此外,它是否使用
dotnet restore后跟dotnet build ExampleNetstandard.sln -c Release构建?如果是这样,在您的 TeamCity 服务器上进行这样的更改是否合适? -
感谢您的帮助。 dotnet restore 而不是 nuget restore 解决了这些问题。是的,我的 csproj 很简单:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netstandard1.4</TargetFramework> </PropertyGroup> </Project>
标签: .net msbuild visual-studio-2017 .net-standard