Asp.net core 在.NET Core MVC自动迁移后,类库在VS2017中丢失了intellisense
在将带有两个项目(web app和类库)的VS2015 MVC核心应用程序迁移到VS2017后,我在类库中的所有视图上都失去了intellisense。几乎每个视图中的所有内容都被破坏了,所以我确信这是迁移工具没有为我解决的一些基本问题。甚至每个razor视图中的Asp.net core 在.NET Core MVC自动迁移后,类库在VS2017中丢失了intellisense,asp.net-core,asp.net-core-mvc,intellisense,class-library,visual-studio-2017,Asp.net Core,Asp.net Core Mvc,Intellisense,Class Library,Visual Studio 2017,在将带有两个项目(web app和类库)的VS2015 MVC核心应用程序迁移到VS2017后,我在类库中的所有视图上都失去了intellisense。几乎每个视图中的所有内容都被破坏了,所以我确信这是迁移工具没有为我解决的一些基本问题。甚至每个razor视图中的@model指令都是错误的 csproj如下所示: <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>
@model
指令都是错误的
csproj
如下所示:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<AssemblyName>Library</AssemblyName>
<PackageId>Library</PackageId>
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
<RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Views\**" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="1.1.0" />
</ItemGroup>
</Project>
netcoreapp1.1
图书馆
图书馆
$(PackageTargetFallback);dnxcore50
1.1.1
假的
假的
假的
假的
假的
假的
假的
假的
我尝试将
web.config
从web应用程序复制到类库的根目录,但没有任何帮助。看起来您遇到了以下错误:
下面是老答案
对于VS 2017的RTM版本,您需要安装以恢复您的Razor intellisense
不幸的是,该组件错过了内部发货日期,因此没有成为VS 2017实际版本的一部分。解决此问题需要两件事,一是更改项目SDK(
),二是添加元素以将输出类型设置为库(库
)。关于这件事的全部信息我交叉发布了
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp1.1</TargetFramework>
<OutputType>Library</OutputType>
<AssemblyName>Library</AssemblyName>
<PackageId>Library</PackageId>
<PackageTargetFallback>$(PackageTargetFallback);dnxcore50</PackageTargetFallback>
<RuntimeFrameworkVersion>1.1.1</RuntimeFrameworkVersion>
<GenerateAssemblyTitleAttribute>false</GenerateAssemblyTitleAttribute>
<GenerateAssemblyDescriptionAttribute>false</GenerateAssemblyDescriptionAttribute>
<GenerateAssemblyCompanyAttribute>false</GenerateAssemblyCompanyAttribute>
<GenerateAssemblyProductAttribute>false</GenerateAssemblyProductAttribute>
<GenerateAssemblyCopyrightAttribute>false</GenerateAssemblyCopyrightAttribute>
<GenerateAssemblyVersionAttribute>false</GenerateAssemblyVersionAttribute>
<GenerateAssemblyFileVersionAttribute>false</GenerateAssemblyFileVersionAttribute>
<GenerateAssemblyInformationalVersionAttribute>false</GenerateAssemblyInformationalVersionAttribute>
</PropertyGroup>
<ItemGroup>
<EmbeddedResource Include="Views\**" Exclude="bin\**;obj\**;**\*.xproj;packages\**;@(EmbeddedResource)" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.1.2" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.1.1" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.WebUtilities" Version="1.1.1" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.1.1" />
<PackageReference Include="Microsoft.Extensions.FileProviders.Embedded" Version="1.1.0" />
</ItemGroup>
</Project>
netcoreapp1.1
图书馆
图书馆
图书馆
$(PackageTargetFallback);dnxcore50
1.1.1
假的
假的
假的
假的
假的
假的
假的
假的
转到“工具”>“扩展和更新”卸载Razor语言服务
根据指示重新启动Visual Studio
重新安装Razor语言服务
您将看到razor intellisense再次工作,例如asp-*标记帮助程序…谢谢您的回答。我已经安装了该扩展(只是通过尝试重新安装进行了双重检查-它报告它已经安装在所有兼容的产品上)。据我所知,您链接的扩展仅用于标记助手intellisense。我在所有方面都失去了理智,只是在类库里。是的,这是我的问题。一旦我们得到一个合理的答案,我会自己回答这个问题。目前,建议的修复实际上破坏了构建过程,因此没有智能感知是两个弊病中较小的一个!