【发布时间】:2021-04-10 11:26:26
【问题描述】:
我在 .Net Framework 项目中收到以下错误:
The type or namespace name 'AspNetCore' does not exist in the namespace 'Microsoft' (are you missing an assembly reference?)
这是出乎意料的,因为我的解决方案中的任何地方都没有写“AspNetCore”,而且我也没有尝试使用核心依赖项。
(为简单起见)我的解决方案中有两个项目;一个标准的 ASP.NET 项目和一个类库。
类库是用新的项目模板创建的:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net48</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Content Include="Views\web.config" />
</ItemGroup>
</Project>
类库的内容是这样的:
- Project.csproj
+ Controller
- ProjectController
+ ViewModels
- ProjectViewModel.cs
+ Views
- ProjectView.cshtml
- web.config
我的ProjectView.cshtml 简单如下:
@model Project.ViewModels.ProjectViewModel
<p>I'm not even using the Model</p>
我的ProjectViewModel.cs:
namespace Project.ViewModels
{
public class ProjectViewModel
{
public string Title {get;set;}
}
}
我的web.config:
<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
</namespaces>
</pages>
</system.web.webPages.razor>
<appSettings>
<add key="webpages:Enabled" value="false" />
</appSettings>
<system.web>
<httpRuntime targetFramework="4.8"/>
<compilation targetFramework="4.8">
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.7.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>
</configuration>
我有一个Directory.Build.props 文件:
<Project>
<PropertyGroup>
<LangVersion>8.0</LangVersion>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Castle.Core" Version="4.4.1" />
<PackageReference Include="Castle.Windsor" Version="4.1.1" />
<PackageReference Include="EntityFramework" Version="6.4.4" />
<PackageReference Include="EPiServer.CMS.AspNet" Version="11.20.2" />
<PackageReference Include="EPiServer.CMS" Version="11.20.2" />
<PackageReference Include="EPiServer.CMS.AspNet" Version="11.20.2" />
<PackageReference Include="EPiServer.CMS.Core" Version="11.20.2" />
<PackageReference Include="EPiServer.CMS.TinyMce" Version="2.13.0" />
<PackageReference Include="EPiServer.CMS.UI" Version="11.31.0" />
<PackageReference Include="EPiServer.CMS.UI.AspNetIdentity" Version="11.31.0" />
<PackageReference Include="EPiServer.CMS.UI.Core" Version="11.31.0" />
<PackageReference Include="EPiServer.Framework" Version="11.20.2" />
<PackageReference Include="EPiServer.Framework.AspNet" Version="11.20.2" />
<PackageReference Include="EPiServer.Logging.Log4Net" Version="2.2.2" />
<PackageReference Include="EPiServer.ServiceLocation.StructureMap" Version="2.0.3" />
<PackageReference Include="EPiServer.XForms" Version="1.0.3" />
<PackageReference Include="log4net" Version="2.0.12" />
<PackageReference Include="Microsoft.AspNet.Identity.Core" Version="2.2.3" />
<PackageReference Include="Microsoft.AspNet.Identity.EntityFramework" Version="2.2.3" />
<PackageReference Include="Microsoft.AspNet.Identity.Owin" Version="2.2.3" />
<PackageReference Include="Microsoft.AspNet.Mvc" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.Providers.Core" Version="2.0.0" />
<PackageReference Include="Microsoft.AspNet.Razor" Version="3.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.Core" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebApi.Extensions.Compression.Server" Version="2.0.6" />
<PackageReference Include="Microsoft.AspNet.WebApi.WebHost" Version="5.2.7" />
<PackageReference Include="Microsoft.AspNet.WebPages" Version="3.2.7" />
<PackageReference Include="Microsoft.Bcl" Version="1.1.10" />
<PackageReference Include="Microsoft.Bcl.Build" Version="1.0.14" />
<PackageReference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" Version="3.6.0" />
<PackageReference Include="Microsoft.IO.RecyclableMemoryStream" Version="1.3.6" />
<PackageReference Include="Microsoft.Net.Compilers.Toolset">
<Version>3.8.0</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Net.Http" Version="2.2.29" />
<PackageReference Include="Microsoft.Owin" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Host.SystemWeb" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Security" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Security.Cookies" Version="4.1.1" />
<PackageReference Include="Microsoft.Owin.Security.OAuth" Version="4.1.1" />
<PackageReference Include="Microsoft.Tpl.Dataflow" Version="4.5.24" />
<PackageReference Include="Microsoft.VisualStudio.SlowCheetah">
<Version>3.2.26</Version>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="Microsoft.Web.Infrastructure" Version="1.0.0" />
<PackageReference Include="Microsoft.Web.Xdt" Version="3.1.0" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.3" />
<PackageReference Include="Owin" Version="1.0.0" />
<PackageReference Include="StructureMap" Version="4.7.1" />
<PackageReference Include="structuremap-signed" Version="3.1.6.191" />
<PackageReference Include="structuremap.web" Version="4.0.0.315" />
<PackageReference Include="structuremap.web-signed" Version="3.1.6.191" />
<PackageReference Include="System.ComponentModel.Annotations" Version="4.7.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.2" />
<PackageReference Include="System.Reflection.Emit" Version="4.7.0" />
<PackageReference Include="System.Reflection.Emit.Lightweight" Version="4.7.0" />
<PackageReference Include="System.Security.AccessControl" Version="4.7.0" />
<PackageReference Include="System.Security.Cryptography.Xml" Version="4.7.0" />
<PackageReference Include="System.Security.Permissions" Version="4.7.0" />
<PackageReference Include="System.Security.Principal.Windows" Version="4.7.0" />
<PackageReference Include="System.Threading.AccessControl" Version="4.7.0" />
<PackageReference Include="System.ValueTuple" Version="4.5.0" />
</ItemGroup>
</Project>
我收到了 14 次错误,还有一次:
'_Views_ProjectView.ExecuteAsync()': no suitable method found to override
有人知道可能出了什么问题吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc razor