以下情况:
我有一个包含多个项目的.sln(数据访问,业务对象,业务逻辑,Web服务器)。
Web-Project是一个ASP.NET核心Web应用程序,使用.Net-Core 1.1,具有单独的用户帐户授权(Identity)和#34; WebApplication" -Template。
其余项目使用的是.Net-Framework 4.6.2。
现在我要从Web服务器中删除DBContext,而不是像在data-access-project中那样使用它。
我相应地设置了我的ApplicationDBContext,我的用户实体扩展了IdentityUser。我还更改了web-server-project中的所有内容以使用ApplicationDBContext(在我的例子中称为WTHListModell)。
我还有项目WTHList.GO(业务对象)和WTHList.DZ(数据访问)的引用。
现在出现了问题:
使用完整的.NET-Framework for the Web-Server(创建一个" .NET-Core Web-Application(.Net-Framework)")这样做是成功的,并且工作得很好。
使用.Net-Core 1.1,我得到一个关于" System.ComponentModel.DataAnnotations"的FileNotFound-Exception。每当我尝试登录或注册用户时
现在我已经读过,DataAnnotations与.Net-Core不兼容,我也尝试将其他NuGet包和程序集添加到Web项目中。
我不知道我还能做些什么,因为我应该将.NET-Core Framework 1.1用于Web-Projekt,并且不断给我这个特殊的错误。
有没有人知道如何解决这个问题?
我已经搜索了一段时间,但我还没有找到解决方案......
如果它有任何相关性:我正在使用VS2017企业RC。
提前致谢。
更新 这是csproj文件的内容:
<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>
答案 0 :(得分:0)
不要与不同的“核心”术语混淆:.NET Core
是新的“基础”框架,“看起来像”.NET Framework 4.5
(4.6等),但这是其他框架。您可以一次编译同一项目的多个版本(针对不同的框架)。
ASP.NET Core
就像旧ASP.NET
一样,但又是一个新的.NET Framework 4.5.1
。它是compiled twice - 一次用于.NET Core
(和“兼容”4.5.2,4.6,4.6.1),一次用于netstandart1.6
(实际上,对于NET Core
这是一些ASP.NET Core
一种“规范”,由.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+
上构建/运行应用。您只能在.ignore
之上构建 find . -name '*.js' | grep -Fxv .ignore
个应用。