gpt4 book ai didi

asp.net-core - 如何使 asp.net core rc2(.net 框架)与 EF 7 和 .net 4.61 一起工作

转载 作者:行者123 更新时间:2023-12-02 01:25:18 24 4
gpt4 key购买 nike

我已经创建了一个 asp.net core RC2(.NET 4.61 框架)项目。

然后我创建了另一个带有 Entity Framework 引用的“DataProvider”nuget 类库(.NET 核心),并将 project.json 设置中的 framework 更改为 “net461”:{}

我没有创建通用 C# 类库的原因是因为它没有 project.json 但我需要它来设置如下内容:

{
"version": "1.0.0-*",

"dependencies": {
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.Tools": {
"type": "build",
"version": "1.0.0-preview1-final"
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": {
"imports": [ "portable-net451+win8" ],
"version": "1.0.0-preview1-final"
}
},
"frameworks": {
"net461": {
"buildOptions": {
"emitEntryPoint": true
}
}
}
}

DataProvider 项目有我的 DbContext 类。

因此我转到 DataProvider 目录的命令行并执行:

dotnet ef migrations add Init

然后我得到这个错误:

This preview of Entity Framework tools does not support targeting class library projects in ASP.NET Core and .NET Core applications. See http://go.microsoft.com/fwlink/?LinkId=798221 for details and workarounds.

我不想将我的 DbContext 放入 asp.net core rc2 项目!!!

我单击该链接以查找有关该解决方法的更多信息,但在我找到该链接之前实际上没有任何帮助:

https://github.com/aspnet/EntityFramework.Docs/blob/master/docs/cli/dotnet.rst

由于我之前遇到的这个错误,这里引入了 2 个解决方法:

解决方法 1 起作用(“要使项目成为 .NET Core 应用程序,请将“netcoreapp1.0”框架添加到 project.json使用下面示例中的其他设置:")

这就是我更改 project.json

的方式
{
"frameworks": {
"netcoreapp1.0": {
"imports": [ "portable-net451+win8" ],
"buildOptions": {
"emitEntryPoint": true
},

"dependencies": {
"Microsoft.NETCore.App": {
"type": "platform",
"version": "1.0.0-*"
},
"Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
"Microsoft.EntityFrameworkCore.Tools": {
"type": "build",
"version": "1.0.0-preview1-final"
}
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": {
"imports": [ "portable-net451+win8" ],
"version": "1.0.0-preview1-final"
}
}
}
}
}

=> 因为在安装了许多 nugets 并且我重建之后我还必须添加一个我添加的 program.cs 等等。然后我在 CMD 上重新运行“dotnet ef migrations add Init”得到这个错误:未找到匹配命令“dotnet-ef”的可执行文件

解决方法 2 工作:(“要制作桌面 .NET 应用程序,请确保您的项目目标为“net451”或更新版本(例如“net461”也有效)并确保构建选项“emitEntryPoint”设置为 true。”)

=> 因为我得到编译异常,program.cs 没有 Main 方法。

好的,我有一个类库,它从来没有 program.cs ...然后我用静态 Main 方法添加了 program.cs。现在项目编译了,但是当我在 CMD 上重新运行“dotnet ef migrations add Init”时,我得到了和以前一样的错误!!!

我应该如何执行“dotnet ef migrations add Init”?

最佳答案

您看到的 CMD 错误是一个错误(参见# 4797、# 1858、# 4555、# 5392)。

在迁移到 RC2 的过程中,我通过重新启动计算机设法克服了这个错误(我知道这很奇怪)。它似乎在内部提要中已修复,#1858 中也有一个 PR。

关于asp.net-core - 如何使 asp.net core rc2(.net 框架)与 EF 7 和 .net 4.61 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492553/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com