2017-10-02 7 views
3

J'ai récemment tenté de migrer mon projet open source GeographicLib.FSharp (https://github.com/SpiegelSoft/GeographicLib) vers .NET Standard. Je peux construire le projet, l'empaqueter et le télécharger vers nuget, mais quand j'essaye de charger le paquet de nuget dans une bibliothèque .NET standard externe, j'obtiens des résultats mélangés.Impossible de charger le paquet nuget écrit avec .NET Core

La création d'une bibliothèque F # en utilisant dotnet new classlib -lang f# et en ajoutant le package Nuget via Visual Studio fonctionne à première vue, mais je ne peux accéder à aucun des types définis dans la bibliothèque GeographicLib.FSharp.

Si je crée une bibliothèque C# .NET Standard à l'aide du modèle Bibliothèque de classes (.NET Standard), puis mettez à niveau ce package vers .NET Standard 1.6, je peux ajouter le package nuget GeographicLib.FSharp et accéder aux types normalement.

Il semble que l'importation de types à partir de paquets Nuget dans les bibliothèques standard F # .NET est interrompue.

Y at-il un correctif ou une solution de contournement pour cela?

+0

Je déteste dire ça, mais avez-vous restauré et rouvert la solution/vs à l'arrière En ajoutant le paquet à la bibliothèque f #? Vous ne savez pas si le système de projet F # peut réagir aux changements de deps, donc vous pourriez avoir une version au design qui ne voit pas encore les nouvelles références. –

+0

Mais pensez à utiliser 'netstandard2.0' ... cela crée moins de problèmes avec l'outillage actuel (résolution de conflit) –

Répondre

4

L'extension Visual Studio F # ne prend pas encore en charge les projets .NET Standard ou .NET Core.

Voir https://blogs.msdn.microsoft.com/dotnet/2017/08/14/f-and-net-core-roadmap-update/ pour plus d'infos et feuille de route

Si vous pensez est un problème, s'il vous plaît ouvrir un bug dans le référentiel de Visual F # https://github.com/Microsoft/visualfsharp/issues

Ces build du projet, mais IntelliSense ne marche pas de charge dans Visual Studio.

En attendant, vous pouvez utiliser d'autres ure/éditeurs, comme:

  • Code Visual Studio avec l'extension Ionide
  • JetBrains Rider
  • vim
  • emacs
  • Visual Studio pour Mac