New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.NET Core console template for fsharp fails to build on Linux at SDK version 1.0.4 #7378

Closed
ryukinix opened this Issue Aug 5, 2017 · 3 comments

Comments

Projects
None yet
2 participants
@ryukinix
Copy link

ryukinix commented Aug 5, 2017

Steps to reproduce

Install SDK 1.0.4 and compatible .NET Core runtime 1.1.2 on Linux

dotnet new console -n test
cd test
dotnet restore
dotnet build

Expected behavior

Just build and works.

Actual behavior

Dotnet commands dotnet build and dotnet msbuild fails on building. But using msbuild tool installed externally with version 15.2.0.0 works, so I'm guessing If that can be something related about the new .fsproj format with this template, or something like that.

Environment data

dotnet --info output:

.NET Command Line Tools (1.0.4)

Product Information:
 Version:            1.0.4
 Commit SHA-1 hash:  af1e6684fd

Runtime Environment:
 OS Name:     manjaro
 OS Version:  
 OS Platform: Linux
 RID:         ubuntu.16.10-x64
 Base Path:   /opt/dotnet/sdk/1.0.4

Microsoft .NET Core Shared Framework Host

  Version  : 2.0.0-preview2-25407-01
  Build    : 40c565230930ead58a50719c0ec799df77bddee9

I know that Arch or Arch-based (Manjaro is a Arch-based) distros are not supported, but seems that problem is something about setup and .fspro, so maybe can be fixed easily If I'm something. I'll really appreciate If someone can help me, but I'll understand if is not.

Personal debugging

On the output of dotnet build -v normal that I attached here, I saw that:

It was not possible to find any compatible framework version
         The specified framework 'Microsoft.NETCore.App', version '1.0.1' was not found.
           - Check application dependencies and target a framework version installed at:
               /
           - Alternatively, install the framework version '1.0.1'.

Why the build is trying target 1.0.1 version if I used the sdk 1.0.4? Is there a way to force to target to 1.0.4 on template creation?

My .fsproj is that:

<Project Sdk="FSharp.NET.Sdk;Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <Compile Include="Program.fs" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Include="FSharp.Core" Version="4.1.*" />
    <PackageReference Include="FSharp.NET.Sdk" Version="1.0.*" PrivateAssets="All" />
  </ItemGroup>

</Project>

An additional information: I installed earlier the sdk-2.0-preview-06497 with its runtime and the console app works fine for F#, but unfortunately I have serious problems using fable with it (so I downgrade to 1.0.4 and removed all the references of sdk-2.0 on my system). For Fable with 2.0 SDK always on build, no matter what I edit the template, I got Not found 'Microsoft.NETCore.App', version '1.0.4'. And yes, I followed the instructions for install the template for .NET Core v2 on the Fable guidelines. Downgrading SDK for 1.0.4 worked fine for Fable, but now I have a problem with the console app template. T_T

What I installed:

The easy way to replicate that installation is doing on a Arch-based Linux (like Manjaro) with yaourt AUR (Arch User Repository) helper: yaourt -S dotnet-host dotnet-runtime-1.1 dotnet-sdk-1.1

And all the referenced packages will be installed on the system.

Thanks in advance and the patience for read that T_T. Sorry for any mess.

I'm thinking if someone of that packages have some conflict version with each other...

@ryukinix

This comment has been minimized.

Copy link

ryukinix commented Aug 6, 2017

This affects only the console template for f#. If I try replicate the same steps for c#, I no got any error. The build works fine. This seems, at least for me, some problem with f# template for consoleapp on this specific setup.

@ryukinix ryukinix changed the title .NET Core template console for fsharp fails to build on Linux at SDK version 1.0.4 .NET Core console template for fsharp fails to build on Linux at SDK version 1.0.4 Aug 6, 2017

@ryukinix

This comment has been minimized.

Copy link

ryukinix commented Aug 6, 2017

Well, after a lot of research I finally found a similar issue on netcorecli-fsc: dotnet/netcorecli-fsc#91.

If the problem described here is exactly about this issue, I think this can be closed. After all, this issue is tagged as wont-fix so I just don't has more hope about that problem using SDK 1.0.4. I'll just wait to confirm that.

@livarcocc

This comment has been minimized.

Copy link
Member

livarcocc commented Aug 7, 2017

Correct. This won't happen anymore with the 2.0 SDK.

@livarcocc livarcocc closed this Aug 7, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment