Giter VIP home page Giter VIP logo

forge-templates's Introduction

forge-templates

F# Project and Solution Templates for Forge

forge-templates's People

Contributors

akoslukacs avatar chrsteinert avatar cloudroutine avatar coolya avatar krzysztof-cieslak avatar theimowski avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

forge-templates's Issues

VSCode F#: New Project not working properly

On Mac. VSCode.
Create a new Project in VSCode F#: New Project.
Project Created -> I need to dotnet restore in terminal to get the project into F# Project Explorer but it fails to load.
Need to change Target Framework to netcoreapp20.
Project now loads but packages are not recognised, packages won't load, project build fails.
Paket Install completes but packages cannot be loaded in .fs files

Problems Building Fresh Project From Console Application Template

Hi, I've been using Ionide to initialize a new F# console application. I initially was not able to build it until I added the FSharp.NET.Sdk to the Sdk Attribute in the Project Tag.

As I only have my Windows Box to test around (Win 10 1703) and haven't seen any other reports of people having problems with this template I wonder if I have some sort of weird setup.

I've been using Paket versions 5.88.* as well as 5.99.1, dotnet cli versions 1.0.4 as well as 2.0.0, and the most recent Ionide version as of writing this in Visual Studio Code 1.16.1.

Thanks in advance for your response.

Feedback

Hey, just got a new Mac and I decided to go through creating a new class library with Ionide/Forge and noticed a few things that could be refined at some point.

  1. When creating a new class library the target framework is .Net 4.6.1 and therefore the build script don't work out of the box on Mac/Linux.
    • Possible solution 1: Target netstandard by default so that the template works out of the box on all operating systems. I can create a pull request if this is an acceptable solution.
    • Possible solution 2: Detect OS and only target full framework on Windows. If this solution is preferred then I could take a look at it if it does not require extensive knowledge of how the templateing engine works or if I could get some directions on how to add this functionality.
  2. The .paket/paket.exe is ignored in the .gitignore file. This makes it so that if I create a project using the template and then check it into source control, then the build scripts will not work if I do a clean checkout of my project.
    • Possible solution: Remove the .paket/paket.exe from the .gitignore file. I can create a pull request if this is an acceptable solution.

Is there a reason for having paket.exe in the .gitignore file?

From ionide/ionide-vscode-fsharp#626

When cloning a repo that was bootstrapped in Ionide it will lack paket.exe. When trying to restore such a repo it will not find .paket\paket.exe and fail with the following error message:

[22:15:08 INFO ] MSBuild (.NET) found at C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\MSBuild.exe
[22:15:08 INFO ] Dotnet cli (.NET Core) found at C:\Program Files\dotnet\dotnet.exe
[22:15:08 INFO ] Automatic msbuild detection
[22:15:13 INFO ] invoking msbuild from C:\Program Files\dotnet\dotnet.exe on "c:\Users~\Documents\Source\tmp\testpaketgit2\TestPaketGit\TestPaketGit\TestPaketGit.fsproj" for target Restore
Microsoft (R) Build Engine version 15.4.8.50001 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.
'"c:\Users~\Documents\Source\tmp\testpaketgit2\TestPaketGit.paket\paket.exe"' is not recognized as an internal or external command,
operable program or batch file.

When creating a new F# Project in VSCode, Ionide bootstraps it with Fake and Paket. The current .gitignore file from gitignore.io has the following line in it: .paket/paket.exe. This results in excluding paket.exe when committing the project to a git repo like gitlab or GitHub.

Workaround:
Change it manually to !.paket/paket.exe to force the inclusion of paket.exe.

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.