2010-01-15 6 views
3

Je construis un système de projet pour les projets Web Visual Studio MVC avec des contrôleurs écrits en F #. Il arrive assez cool. Je peux créer et exécuter les applications, mais j'ai un problème avec FSharp Language Service.Web Project for F #

Dans l'éditeur, il affiche la coloration de la syntaxe et le diagnostic comme il se doit. Avec un problème - il ne prend pas de références de projet. Même si au cours de la construction, il les récupère et construit avec succès le projet, à l'écran, il montre les objets/espaces de noms des assemblées/projets référencés comme non résolus.

Si quelqu'un ici a des connaissances sur l'intégration avec le service F # Langue - s'il vous plaît me aider à faire fonctionner

En réponse à Tomas:

Le code pour les contrôleurs F # est dans le fichier de projet et que je déjà mentionné, je peux le compiler et l'exécuter. A l'origine, nous avons conservé le code F # dans un projet séparé et le désir de se débarrasser de cette complexité supplémentaire est ce qui a motivé ce projet. Ce n'est pas un ASP.MVC bien qu'il soit Bistro MVC.

Modifier

BistroMVC résout maintenant ce problème dans la dernière version du Designer Bistro qui est basé sur la F# project extender

+0

VS2008 ou certains VS2010 Beta? – Brian

+0

@Brian VS2008. Je ne l'ai pas encore vérifié, mais cela devrait fonctionner aussi bien pour 2010 – mfeingold

Répondre

0

Pouvez-vous décrire ce que vous faites plus en détail? Est-ce un "arôme", ou un nouveau système de projet? D'autres aspects de «l'environnement du projet» sont-ils repris? Par exemple, si vous avez le code F # avec

#if DEBUG 
let x = 3 
#else 
let x = 4 
#endif 

ne le changement de coloration lorsque vous modifiez la solution VS de débogage à la version?

(Je ne sais pas s'il sera possible d'intégrer complètement le service de langue F # dans un système de projet défini par l'utilisateur, si vous voulez plus d'une discussion, vous pouvez envoyer un courriel à [email protected] et je répondrai là.)

+0

Je l'ai essayé dans les deux sens. Je ne pouvais pas faire d'aromatisation du tout. J'ai aussi testé le #if comme vous l'avez suggéré, et comme vous le pensiez, cela ne fonctionne pas non plus. Je vais envoyer plus d'informations à fsbugs – mfeingold

1

Gardez-vous votre code source F # dans le cadre du projet Web? Je ne suis pas sûr si cela est même possible pour ASP.NET MVC, mais c'était possible dans ASP.NET WebForms. Avec les projets WebForms, cela ne fonctionnait pas très bien (car F # n'était pas conscient du contexte du projet). Je crois qu'il était possible de surmonter cela avec un #if aki comme ceci:

#if EDITING 
#r "Your.Referenced.Library.dll" 
#endif 

Cela ne servirait qu'à une allusion à l'éditeur ... Cependant, il est bien meilleure idée (s'il est possible) d'écrire Contrôleurs F # dans un projet F # séparé. Dans ce cas, vous ne devriez pas avoir de problèmes (au moins je l'espère!)

Questions connexes