【发布时间】:2017-08-07 19:34:14
【问题描述】:
我目前正在工作中试用 VS2017,因为有兴趣将我们的服务器系统迁移到 .Net 核心。 我已经将几个小工具项目切换到 .NetStandard 1.2(重新创建和移动文件),并且一切都在本地构建。
但是,当我在 TeamCity 10.0.5 服务器上请求构建时,构建失败并显示以下消息(项目名称已编辑):
E:\TeamCity\buildAgent1\work\467cb2a824afdbda\Source\{PROJECT FOLDER}\{PROJECT}.csproj 错误 MSB4019:导入的项目“C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\未找到 MSBuild\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props”。确认声明中的路径正确,并且该文件存在于磁盘上。
Microsoft.NET.Sdk 文件夹确实存在于我的机器上,但不存在于构建服务器上。
我已经安装了 Build Tools for Visual Studio 2017,并安装了 .Net Core 1.1 SDK,并且构建配置使用了使用 VS2017 的 Visual Studio (sln) 运行器。
我缺少哪些工具/安装程序?
更新: 我已经尝试了完整的 Visual Studio 2017 安装程序(社区),并且包 .NET Framework 4.5 Targeting Pack 添加了有问题的文件夹。 奇怪,因为服务器上已经安装了 4.5 多目标包。
将构建代理设置为使用完整的 VS2017 社区安装后,出现了一堆其他问题,例如在相关项目中找不到 System 命名空间。
添加 dotnet restore 构建步骤修复了此问题,但随后缺少其他命名空间(缺少安装)等等。
使用 .NETStandard 项目构建完整的框架解决方案似乎依赖 .NET Core 来构建,我不明白,因为我不是针对 .NET Core。
【问题讨论】:
-
我遇到了同样的问题。我猜切换到 .csproj 只完成了一半?
-
我也有同样的问题。复制构建服务器上的 Sdks 文件夹并没有解决问题。安装 .NET Core SDK 也没有解决问题。
-
相关 github msbuild 问题:github.com/Microsoft/msbuild/issues/1697
标签: msbuild teamcity build-server .net-standard