我目前正在尝试在学习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看到这些命名空间在包中定义,以及当前的错误。任何见解都将不胜感激。
答案 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中没有问题