Skip to content
This repository was archived by the owner on Sep 17, 2020. It is now read-only.
This repository was archived by the owner on Sep 17, 2020. It is now read-only.

Compilation fails in latest Docker SDK image (Csc.dll was renamed all-lowercase) #22

@takerukoushirou

Description

@takerukoushirou

Using the latest Docker SDK image microsoft/dotnet:sdk with dotnet version 2.1.101, compilation fails with the following error:

/app/[...].tasks(140,9): error MSB6006: "Csc.exe" exited with code 1. [/app/[...].csproj]
/app/[...].tasks(140,9): error : The source file for this compilation can be found at: "/tmp/tmp7mDsMh.tmp" [/app/[...].csproj]
/app/[...].tasks(140,9): error MSB4175: The task factory "CodeTaskFactory" could not be loaded from the assembly "/root/.nuget/packages/roslyncodetaskfactory/1.2.6/build/netstandard1.5/RoslynCodeTaskFactory.dll". The task factory must return a value for the "TaskType" property. [/app/[...].csproj]

A deeper look at the detailed MSBuild log shows that the following command is being executed:

/usr/share/dotnet/dotnet  /noconfig /nostdlib+ /reference:[...]

i.e. the actual Csc assembly is missing after dotnet (only double spaces before first option).

It seems that the Csc.dll has been renamed to csc.dll (all lowercase), and Internal/ManagedCompiler.cs fails to resolve this as it only checks for Csc.dll. This could likely easily be fixed in the Csc resolver as setting a symbolic link from csc.dll to Csc.dll allows compilation to succeed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions