名称空间未在VS Code中的F#ASP.NET MVC项目中定义

时间:2017-07-05 16:19:49

标签: asp.net-mvc f# nuget

我目前正在尝试在学习F#和Web开发方面取得一些进展,为此我已经使用Yeoman生成一个F#ASP.NET项目(generator

我已经使用Bower来安装依赖项,并且该项目在VS代码和仅使用dotnet run的情况下构建和运行都没有问题。但是,导航到Startup.fs,它声称打开的这些命名空间没有定义:

open Microsoft.AspNetCore.Builder
open Microsoft.AspNetCore.Hosting
open Microsoft.Extensions.Configuration
open Microsoft.Extensions.DependencyInjection
open Microsoft.Extensions.Logging

在.fsproj文件中,包含以下软件包,我已运行dotnet restore

<PackageReference Include="FSharp.NET.Sdk" Version="1.0.0-beta-*" PrivateAssets="All"/>
<PackageReference Include="Microsoft.AspNetCore" Version="1.0.4" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.3"/>
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.2"/>
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.0.2"/>
<PackageReference Include="Microsoft.FSharp.Core.netcore" Version="1.0.0-alpha-161023"/>
<PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink" Version="1.0.1"/>

在我看来,这些行应至少包含一些上述命名空间的相关NuGet包。我想知道如何让VS Code看到这些命名空间在包中定义,以及当前的错误。任何见解都将不胜感激。

1 个答案:

答案 0 :(得分:3)

根据将评论移至答案的问题的评论:

我没有使用带核心的F#但是我注意到你有一个参考

<PackageReference Include="FSharp.NET.Sdk" Version="1.0.0-beta-*" PrivateAssets="All"/>
<PackageReference Include="Microsoft.FSharp.Core.netcore" Version="1.0.0-alpha-161023"/>. 

我安装了.net核心2预览版并通过dotnet命令生成新的Web项目生成了对

的引用
<PackageReference Include="FSharp.Core" Version="4.1.*" /> 
<PackageReference Include="FSharp.NET.Sdk" Version="1.0.*" PrivateAssets="All" /> 

在VS Code中没有问题