在构建服务器上使用ASP.NET Core项目构建解决方案

ygo*_*goe 6 msbuild asp.net-core

我有一个多个项目的.sln解决方案,全部用于.NET Framework 4.6,与.NET Core无关.现在我使用ASP.NET Core添加了一个新的Web项目,仍然以.NET Framework 4.6为目标.基于PowerShell的构建脚本包括一个像这样调用的NuGet包还原:

nuget.exe restore $solutionFile -NonInteractive
Run Code Online (Sandbox Code Playgroud)

此操作失败,并显示以下消息:

MSBuild自动检测:在'C:\ Program Files(x86)\ MSBuild\14.0\bin'中使用msbuild版本'14 .0'.C:\ GitLabCI\builds\024ca24f\0\team\MyTeam\src\MyWeb\MyWeb.xproj(7,3):错误MSB4019:Das importierte Projekt"C:\ Program Files(x86)\ MSBuild\Microsoft\VisualStudio\v14.0\DotNet\Microsoft.DotNet.Props"wurde nicht gefunden.Vergewissern Sie sich,dass der Pfad in der -Deklaration korrekt und die Datei aufdemDatenträgervorhandenist.System.Management.Automation.RemoteException

似乎缺少MSBuild的支持文件.我无法安装ASP.NET Core工具,因为他们坚持要求在构建服务器上安装完整的Visual Studio 2015 IDE,这是疯狂的,我不想这样做.可以安装其他所有内容,以最小化占用空间,构建工具和框架.

如果我省略了NuGet包还原,则构建失败,因为组件丢失了.

如何在没有完整VS IDE的情况下安装ASP.NET Core 1.0 RTM的MSBuild支持?

更新:我复制了两个目录,DotNetDotNet.Web从C:\ Program Files(x86)\ MSBuild\VisualStudio\v14.0复制到构建服务器计算机.然后NuGet包恢复工作,但构建失败,并显示以下消息:

C:\ GitLabCI\builds\024ca24f\0\team\MyTeam\src\Common\Common.csproj:错误MSB4057:Das Ziel"_GenerateDependencyFragmentJson"ist im Projekt nicht vorhanden.

大致翻译为"目标'_GenerateDependencyFragmentJson'在项目中不存在." 谷歌甚至不知道这个词.

我知道盲目地将文件从一台机器复制到另一台机器并不是一件好事,我没想到这会起作用.至少它会产生以后的错误消息.

ygo*_*goe 0

虽然这可能不是我原来问题的答案,但它是问题的(令人不愉快的)答案。

在生成服务器(代理)上安装完整的 Visual Studio 2015。它附带了处理这些项目所需的一切,就像在您的开发计算机上一样。它只需要 9 GB 磁盘空间和单独的许可证,但是嘿,谁说这会很方便。