首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Core WebApp(.NET Core)缺少DataAnnotations

ASP.NET Core WebApp(.NET Core)缺少DataAnnotations
EN

Stack Overflow用户
提问于 2017-01-12 00:07:51
回答 1查看 545关注 0票数 1

以下情况:

我有一个包含多个项目的.sln (数据访问、业务对象、业务逻辑、web服务器).

Web是一个使用.NET Core1.1的ASP.NET Core应用程序,具有个人用户帐户授权(Identity)和"WebApplication"-Template。

其余的项目使用的是.net-Framework4.6.2。

现在,我将从web服务器中删除DBContext,并使用与数据访问项目相同的方法。

我相应地设置了我的ApplicationDBContext,我的用户实体扩展了IdentityUser。我还将web服务器项目中的所有内容更改为使用ApplicationDBContext (在我的例子中称为WTHListModell)。

我还引用了项目WTHList.GO (业务对象)和WTHList.DZ (数据访问)。

现在出现了一个问题:

使用用于Web的完整.NET-Framework (创建“.NET-核心Web-应用程序(.)”)进行此操作是成功的,并且工作正常。

使用..Net Core 1.1,每当我尝试登录或注册用户时,我都会得到一个关于"System.ComponentModel.DataAnnotations“的FileNotFound异常。

现在我读到,DataAnnotations与. Now不兼容,我还尝试将其他NuGet包和程序集添加到网络项目中。

我不知道我还能做些什么,因为我应该为Web使用.NET-Core Framework1.1,它一直给我这个特殊的错误。

有没有人知道如何解决这个问题?

我已经找了一段时间了,还没找到解决办法.

如果它有任何关联的话:我正在使用VS2017企业RC。

提前谢谢。

更新--这是csproj文件的内容:

代码语言:javascript
复制
<Project ToolsVersion="15.0" Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup Label="Globals">
    <SccProjectName>SAK</SccProjectName>
    <SccProvider>SAK</SccProvider>
    <SccAuxPath>SAK</SccAuxPath>
    <SccLocalPath>SAK</SccLocalPath>
  </PropertyGroup>
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp1.1</TargetFramework>
    <PreserveCompilationContext>true</PreserveCompilationContext>
  </PropertyGroup>
  <PropertyGroup>
    <PackageTargetFallback>$(PackageTargetFallback);portable-net45+win8+wp8+wpa81;</PackageTargetFallback>
  </PropertyGroup>
  <PropertyGroup>
    <UserSecretsId>aspnet-WTHList.Web2-ab5b6dbd-698d-4877-a2b3-6dd9b7a37960</UserSecretsId>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.0" />
    <PackageReference Include="Microsoft.NETCore.App" Version="1.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics" Version="1.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Mvc" Version="1.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Routing" Version="1.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.Server.IISIntegration" Version="1.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Server.Kestrel" Version="1.0.1" />
    <PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging" Version="1.1.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Console" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="1.0.0" />
    <PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="1.0.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.BrowserLink.Loader" Version="14.0.0" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNetCore.Authentication.Cookies" Version="1.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="1.0.0" />
    <PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="1.0.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer.Design" Version="1.0.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0-preview4-final" />
    <PackageReference Include="Microsoft.Extensions.Configuration.UserSecrets" Version="1.0.0" />
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="1.0.0-msbuild2-final" />
  </ItemGroup>
  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0-msbuild2-final" />
    <DotNetCliToolReference Include="Microsoft.Extensions.SecretManager.Tools" Version="1.0.0-msbuild2-final" />
    <DotNetCliToolReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Tools" Version="1.0.0-msbuild2-final" />
  </ItemGroup>
  <ItemGroup>
    <ProjectReference Include="..\WTHList.DZ\WTHList.DZ.csproj" />
    <ProjectReference Include="..\WTHList.GL\WTHList.GL.csproj" />
    <ProjectReference Include="..\WTHList.GO\WTHList.GO.csproj" />
  </ItemGroup>
</Project>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-12 08:59:45

不要混淆不同的“核心”术语:.NET Core是新的“基本”框架,它“看起来像”.NET Framework 4.5 (4.6等等),但这是其他框架。您可以一次编译同一项目的多个版本(针对不同的框架)。

ASP.NET Core就像旧的ASP.NET,但却是新的。它是编译两次 --一次用于.NET Framework 4.5.1 (和“兼容”4.5.2、4.6、4.6.1),一次用于.NET Core (实际上,netstandart1.6是某种“规范”,由NET Core实现)。

因此,您可以使用ASP.NET Core创建web应用程序,它可以在.NET Framework 4.5.1和/或.NET Core上构建/运行。但是,您还需要在(兼容) .NET Framework 4.5.1和/或.NET Core上构建所有依赖关系。

因此,如果您的应用程序需要一些库(例如System.ComponentModel.DataAnnotations),这些库对NET Core来说是不可用的--您不能在.NET Core上构建/运行应用程序。您只能在ASP.NET Core之上构建.NET Framework 4.5.1+应用程序。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41603015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档