Coder Social home page Coder Social logo

Comments (5)

MichaelSimons avatar MichaelSimons commented on August 17, 2024 1

@lbussell, Can you please investigate the size and include it here?

from dotnet-framework-docker.

mthalman avatar mthalman commented on August 17, 2024

[Triage]

This is the key bit of info: dotnet/fsharp#15878 (comment). The F# workload is not installed in the SDK. The workload name is Microsoft.VisualStudio.Component.FSharp.MSBuild

The workload's size is unknown. That should be determined first before adding it.

from dotnet-framework-docker.

MichaelSimons avatar MichaelSimons commented on August 17, 2024

To provide some additional background on what goes into the decision making process on what is included in the SDK images and what isn't. Our philosophy is to include the common set of workloads that generally satisfies a broad set of use cases. For use cases outside of this, it is expected customers will add the additional workloads/components they need on top of the .NET images. Without this approach, the .NET images could grow rather uncontrollably and therefore would become more undesirable for a lot of customers.

Regarding the F# workload specifically, there have only been one other request for it (#762)

from dotnet-framework-docker.

lbussell avatar lbussell commented on August 17, 2024

@shikhar456, I was able to reproduce the issue using your repo.

Adding the Microsoft.VisualStudio.Component.FSharp.MSBuild VS Workload to the mcr.microsoft.com/dotnet/framework/sdk:4.8 image does not make the build work with the existing Dockerfile, however the error message is more helpful. It still needs a NuGet restore.

Try replacing your RUN msbuild ConsoleApplication1.sln instruction with:

RUN dotnet restore && dotnet publish ConsoleApplication1.sln -c Release -o out --no-restore

Which then outputs ConsoleApplication1.exe to the out folder. This should work even without installing the F# workload. You can look at our dotnetapp sample Dockerfile for an example of how to apply this pattern if you're trying to containerize your Fsharp app.

@MichaelSimons: Can you please investigate the size and include it here?

It's a ~216 MB or roughly 5% increase on top of the .NET Framework SDK's image layers. @KevinRansom, is the F# Workload the most optimal way to add F# to a .NET Framework build image? Would there be any issue just relying on NuGet restore for this? How can we improve the UX that @shikhar456 is running into above? (no msbuild output).

from dotnet-framework-docker.

lbussell avatar lbussell commented on August 17, 2024

[Triage] Closing this as not planned since adding the FSharp Workload does not address the issue. Our guidance is to use the dotnet CLI which is included in the .NET Framework SDK images. It would be up to the FSharp team to improve the UX of the error message in this situation.

from dotnet-framework-docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.