我正在尝试使用ASP.NET Core开发一个带有插件的网站.我有我的主项目,asp.net web应用程序工作正常.我有一个带有控制器的类库项目,它也可以正常工作,并且我遇到了问题.当我打开* .cshtml文件时,我可以看到Razor不起作用 – @using,@ model和其他指令无法识别,智能感知不起作用.当我将鼠标悬停在模型上时,我从标题中得到错误:
The name ‘model’ does not exist in current context in ASP.NET Core
我使用EmbeddedFileProvider来发现视图,并将它们标记为嵌入式资源.当我运行应用程序一切正常 – 视图正确呈现.我唯一的问题是Visual Studio中的误报错误.我用谷歌搜索和类似的问题,但主要是为了ASP.NET MVC,而不是Core – like here.我认为类库配置中缺少一些东西,但我不确定究竟是什么.
解决方法
新的csproj文件在顶层“Project”元素中具有“Sdk”属性.创建新的Web应用程序时,将其设置为“Web”SDK:
<Project Sdk="Microsoft.NET.Sdk.Web">...</Project>
添加/创建类库时,它默认为标准的非Web SDK:
<Project Sdk="Microsoft.NET.Sdk">...</Project>
据我所知,Web SDK导入了额外的任务,以允许设计时处理Web资源,例如Razor视图.将插件库中的SDK更改为Web.
“Web”项目的另一个参数是它默认输出一个EXE,所以也将它添加到你的插件csproj中:
<PropertyGroup> <OutputType>Library</OutputType> </PropertyGroup>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。