私はBeta8の.netコアで始まり、その後私はasp.netコアのC#アプリケーションから使用するF#ライブラリを持っているプロジェクトを持っています。 (ところでhereネットコアベースのコンソールアプリからのF#のLIBを参照するためのRC2ベース最小限のサンプルです)
ここでは、私はそれをやった方法です:
現在(私の知識に従って)VSにはテンプレートがありません(F#のPLCテンプレートはすべてフルフレームワークベースですが、完全なフレームワークで実行してもasp.netコアから参照することはできません)、コマンドラインでこれを行う必要があります。これは次のように行われます:
dotnet new --lang F#
これは、あなたにhello world coreCLR F#appを作成します。 project.jsonファイルを変更することで、アプリをクラスライブラリにすることができます。
VSソリューションをお持ちの場合、[追加] - [既存のプロジェクト]をクリックすると、project.jsonファイルを選択できます。こうすることで、あなたのソリューションに追加することができます(さらに、xprojファイルも作成されます)。
この時点で、ソリューションにはcoreCLRベースのF#プロジェクトがあります。私はasp.netコアプロジェクトを右クリックして "Add" - > "Reference" - > Projects-> Solutionsに進み、既に参照できるF#ライブラリを選択すると信じています。これがうまくいかない場合、手動で行うことができます:asp.netコアアプリケーションのproject.jsonの "依存関係"の下にF#プロジェクトをリストするだけです。
asp.netコアアプリケーションがフルフレームワークで実行されている場合でも、これらの手順を実行する必要があります。実際にはそれほど重要ではありません。
今悪い部分:(月曜日にリリース)RTMで
- 「DOTNET新しい」コマンドがあるため、いくつかの依存関係の問題により、uncompliable F#のアプリを作成します。これはトラックhere(タイトルは "on macOS"ですが、Windowsでは同じです)と解決されるとすぐにこれはうまくいくはずです(または、まだRTMをインストールしておらず、RC2もあります)。
- インテリセンスとデバッグF#の間とC#は動作しません(私はそれhereを掲載)
は、この上の任意のより多くの最近の情報はありますか?私はF#クラスライブラリを他のC#asp.netコアプロジェクトのソリューションで動作させようとしていますが、幸運はありません。このシナリオでは現在作業中のプロジェクトの良い例がありますか? –
@JoeAudetteここでは、サンプルソリューションの詳細な説明です:http://kalapos.azurewebsites.net/referencing-an-f-library-from-c-on-net-core私の知識によると、現在の段階です(そしてそれは私が今日働く仕組みです...)。ロードマップによると、「F#言語サービスでのワークスペースサポートのIDE経験が向上しました」というのは、RTMツール(私には分かりませんが..)https://blogs.msdn.microsoft.com/dotnet/ 2016/07/15/net-core-roadmap/ – gregkalapos
@gegkalapos、ありがとう!私が持っている問題は、私が必要とする依存関係を追加しましたが、project.jsonでコントローラを作成したいF#クラスライブラリですが、VSはネームスペースが自分のコードでこの行にないと言います。私が参照している依存関係: open Microsoft.AspNetCore.Mvc –