cake-build / cake-build/cake

DotNetCoreBuild .Net Core 2.0 not working with .Net Standard assemblies

Open
#2,076 12 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
4.2k
Forks
778
Avg merge
1h 15m
Merged PRs (30d)
19

Description

### What You Are Seeing?
Here is my build.cake script:

```
///////////////////////////////////////////////////////////////////////////////
// ARGUMENTS
///////////////////////////////////////////////////////////////////////////////

var target = Argument("target", "Default");
var configuration = Argument("configuration", "Release");

var buildSettings = new DotNetCoreBuildSettings
{
Framework = "netcoreapp2.0",
Configuration = "Release",
OutputDirectory = "..\\.temp"
};

///////////////////////////////////////////////////////////////////////////////
// SETUP / TEARDOWN
///////////////////////////////////////////////////////////////////////////////

Setup(ctx =>
{
// Executed BEFORE the first task.
Information("Running tasks...");
});

Teardown(ctx =>
{
// Executed AFTER the last task.
Information("Finished running tasks.");
});

///////////////////////////////////////////////////////////////////////////////
// TASKS
///////////////////////////////////////////////////////////////////////////////

Task("Default")
.Does(() => {
Information("Hello Cake!");
});

Task("Restore")
.Does(() => {
Information("Restore!!!!");
//DotNetCoreRestore();
DotNetCoreRestore("..\\Neudesic.Neuledgebase.sln");
});

Task("Build")
.IsDependentOn("Restore")
.Does(() => {
Information("Build!!!!");
DotNetCoreBuild("..\\Neudesic.Neuledgebase.sln", buildSettings);

});

RunTarget(target);
```

I'm seeing this error specifically for assemblies that are .Net Standard. I can run the dotnet build Neudesic.Neuledgebase.sln command manually, and I have no issues. Is there an issue with Cake not being compatible with .Net Core 2.0 yet? Why are there issues with .Net Standard assemblies?

### What is Expected?
I'm expecting my solution to build.

### What version of Cake are you using?
0.2.0.0 extension for Visual Studio
version="0.26.1" for what got pulled down, which should be the latest

### Are you running on a 32 or 64 bit system?
64 Bit system

### What environment are you running on? Windows? Linux? Mac?
Windows

### Are you running on a CI Server? If so, which one?
This issue is happening on my local computer, I am going to be running on VSTS in the future.

### How Did You Get This To Happen? (Steps to Reproduce)
I'm calling my bootstrapper and calling the Build task
.\build.ps1 -Target "Build"

### Output Log

```
PS J:\Neuledgebase\Neudesic.Neuledgebase.Build> .\build.ps1 -Target "Build"
Preparing to run build script...
Running build script...

----------------------------------------
Setup
----------------------------------------
Running tasks...

========================================
Restore
========================================
Restore!!!!
Restore completed in 97.06 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Domain\Neudesic.Neuledgebase.Domain.csproj.
Restore completed in 75.67 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Services\Neudesic.Neuledgebase.Services.csproj.
Restore completed in 77.71 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Migrations\Neudesic.Neuledgebase.Migrations.csproj.
Restore completed in 79.11 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Repositories\Neudesic.Neuledgebase.Repositories.csproj.
Restore completed in 80.24 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Domain\Neudesic.Neuledgebase.Domain.csproj.
Restore completed in 161.2 ms for J:\Neuledgebase\Neudesic.Neuledgebase.WebApi\Neudesic.Neuledgebase.WebApi.csproj.
Restore completed in 91.67 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Web\Neudesic.Neuledgebase.Web.csproj.
Restore completed in 156.7 ms for J:\Neuledgebase\Neudesic.Neuledgebase.Web\Neudesic.Neuledgebase.Web.csproj.
Restore completed in 187.13 ms for J:\Neuledgebase\Neudesic.Neuledgebase.WebApi\Neudesic.Neuledgebase.WebApi.csproj.

========================================
Build
========================================
Build!!!!
Microsoft (R) Build Engine version 15.4.8.50001 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file 'J:\Neuledgebase\Neudesic.Neuledgebase.Domain\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.0'. Ensure that restore has run and that you have included 'netcoreapp2.0' in the TargetFrameworks for your project. [J:\Neuledgebase\Neudesic.Neuledgebase.Domain\Neudesic.Neuledgebase.Domain.csproj]
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file 'J:\Neuledgebase\Neudesic.Neuledgebase.Services\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.0'. Ensure that restore has run and that you have included 'netcoreapp2.0' in the TargetFrameworks for your project. [J:\Neuledgebase\Neudesic.Neuledgebase.Services\Neudesic.Neuledgebase.Services.csproj]
Neudesic.Neuledgebase.Build -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.Build.dll
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file 'J:\Neuledgebase\Neudesic.Neuledgebase.Repositories\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.0'. Ensure that restore has run and that you have included 'netcoreapp2.0' in the TargetFrameworks for your project. [J:\Neuledgebase\Neudesic.Neuledgebase.Repositories\Neudesic.Neuledgebase.Repositories.csproj]
Neudesic.Neuledgebase.Domain -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.Domain.dll
Neudesic.Neuledgebase.Web -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.Web.dll
Neudesic.Neuledgebase.Repositories -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.Repositories.dll
Neudesic.Neuledgebase.Migrations -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.Migrations.dll
Neudesic.Neuledgebase.Services -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.Services.dll
Neudesic.Neuledgebase.WebApi -> J:\Neuledgebase\.temp\Neudesic.Neuledgebase.WebApi.dll

Build FAILED.

C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file 'J:\Neuledgebase\Neudesic.Neuledgebase.Domain\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.0'. Ensure that restore has run and that you have included 'netcoreapp2.0' in the TargetFrameworks for your project. [J:\Neuledgebase\Neudesic.Neuledgebase.Domain\Neudesic.Neuledgebase.Domain.csproj]
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file 'J:\Neuledgebase\Neudesic.Neuledgebase.Services\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.0'. Ensure that restore has run and that you have included 'netcoreapp2.0' in the TargetFrameworks for your project. [J:\Neuledgebase\Neudesic.Neuledgebase.Services\Neudesic.Neuledgebase.Services.csproj]
C:\Program Files\dotnet\sdk\2.0.2\Sdks\Microsoft.NET.Sdk\build\Microsoft.PackageDependencyResolution.targets(165,5): error : Assets file 'J:\Neuledgebase\Neudesic.Neuledgebase.Repositories\obj\project.assets.json' doesn't have a target for '.NETCoreApp,Version=v2.0'. Ensure that restore has run and that you have included 'netcoreapp2.0' in the TargetFrameworks for your project. [J:\Neuledgebase\Neudesic.Neuledgebase.Repositories\Neudesic.Neuledgebase.Repositories.csproj]
0 Warning(s)
3 Error(s)

Time Elapsed 00:00:17.57
[ERROR] Cake.exe : An error occurred when executing task 'Build'.
[ERROR] At J:\Neuledgebase\Neudesic.Neuledgebase.Build\build.ps1:234 char:1
[ERROR] + &$CAKE_EXE $cakeArguments
[ERROR] + ~~~~~~~~~~~~~~~~~~~~~~~~~
[ERROR] + CategoryInfo : NotSpecified: (An error occurr...g task 'Build'.:String) [], RemoteException
[ERROR] + FullyQualifiedErrorId : NativeCommandError
[ERROR]

----------------------------------------
Teardown
----------------------------------------
Finished running tasks.
[ERROR] Error:
[ERROR] One or more errors occurred.
[ERROR]
[ERROR]
[ERROR]
[ERROR] .NET Core CLI: Process returned an error (exit code 1).
[ERROR]
[ERROR]
```

GIST LINK - Please create a gist and link to that gist here

OR

~~~sh
PLACE LOG CONTENT HERE
~~~

Contributor guide

Open the contributing guide

Research direction

Start with build.cake’s Restore and Build tasks and the build.ps1 invocation; compare DotNetCoreRestore and DotNetCoreBuild with the logged dotnet build failure. Reproduce using the shown solution and SDK 2.0.2, with completion defined as a successful build without the assets-target errors for the .NET Standard assemblies.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, powershell
Domain
build-system, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.