2017-02-11 103 views
1

我已经创建了一个针对.net框架(不是多平台核心)的asp.net mvc核心应用程序,因为我想包括标准.net框架库并运行跨平台与我无关,因为我将在Azure中托管。构建VS2017 .net核心应用程序,其目标是完整的.net框架

该解决方案是这样的:

Project Files

我试图得到一个VSTS建立与这个项目的工作(这是一个更大的解决方案的一部分),但建设时,我得到了以下错误:

Build errors

这似乎是一个常见的错误。我的构建定义应该如何构建这些基于.csproj的项目?似乎有很多信息,但没有明确的答案。希望答案可以在这里,人们可以停止在其他地方寻找关于如何获得持续集成构建的信息。

在解决方案级别的附注中,我发现没有包含我的nuget包的包文件夹,为什么?该项目肯定包含nuget包。

+0

您是否用Luca的解决方案解决了这个问题?您需要设置一个私人构建代理。 –

+0

@strain-MSFT是的。 –

回答

2

您的项目使用最新的基于MSBuild的.NET Core项目文件。 该扩展仍然是.csproj,但XML模式与.NET46(和以前的版本)中使用的普通.csproj不同。

你需要合适的工具来建立这样的.csproj文件,例如:

  • 的Visual Studio 2017年:在您的私人生成代理安装; VSTS托管构建代理没有安装VS2017;
  • .NET Core SDK 1.0.0-preview4-004233(或更新版本):此SDK包含基于MSBuild .NET Core的项目的命令行工具'dotnet'。

请注意,在您的构建日志中,所使用的msbuild是随VS2015(版本14.0)一起提供的,而不支持这样的.csproj格式文件。另一方面,如果您不需要多平台或.NET Core的其他好处,为什么要使用它?刚刚创建了一个面向.NET 4.6的普通ASP.NET 4 Web项目。

+0

我正在使用它,因为项目结构优于旧项目。 –

+0

我确实必须创建一个私人构建代理,但我不需要安装Visual Studio。只需要dotnet核心cli工具和.net framework 4.6.2 sdk和定位包。 –

+0

是的!第二个选项(“.NET Core SDK”)确实包含.NET Core CLI :) –

相关问题