由网友(嘻哈风格)分享简介:我有NET Core 3.1个应用程序,我的[models,dbcontext,application]都在它们自己的程序集中。我正在尝试为该应用程序发出迁移。我一直收到此错误:$ dotnet ef migrations add InitialCreate --project DataAccess MSBUILD:错...![为什么你需要将代码迁移到ASP.NET Core 2.0](https://p.xsw88.cn/allimgs/daicuo/20230903/2863.png)
我有NET Core 3.1
个应用程序,我的[models,dbcontext,application]
都在它们自己的程序集中。我正在尝试为该应用程序发出迁移。我一直收到此错误:
$ dotnet ef migrations add InitialCreate --project DataAccess
MSBUILD:错误MSB1009:项目文件不存在。交换机:
DataAccess无法检索项目元数据。确保这是一个
基于MSBuild的.NET核心项目。如果您使用的是自定义
BaseIntermediateOutputPath或MSBuildProjectExtensionsPath值,请使用
--msBuildproject扩展路径选项。
当前结构
*root
-App (.NET Core 3.1)
-DataAccess (.NET Standard 2.1) (Contains the DBContext)
-Models (.NET Standard 2.1) (contains models)
![为什么你需要将代码迁移到ASP.NET Core 2.0](https://p.xsw88.cn/allimgs/daicuo/20230903/2863.png)
我还尝试为迁移创建单独的程序集,并在我的App
中使用MigrationAssembly扩展:
services.AddDbContext<[some DBContext]>(x => x.UseSqlServer([some string],x=>x.MigrationsAssembly("Migrations")));
尝试的结构
*root
-App
-Migrations (.NET Standard 2.1)
-DataAccess (.NET Standard 2.1)
-Models (.NET Standard 2.1)
我不知道该如何执行此操作。我希望能够进行迁移,理想情况下,我希望将它们保留在它们自己的程序集中。目前,我根本不能执行这些操作。
P.S我也尝试将此文件添加到我的App
csproj文件:
<GenerateRuntimeConfigurationFiles>True</GenerateRuntimeConfigurationFiles>
推荐答案
上面@ajay给出的答案,经过日复一日的谷歌搜索,终于对我起作用了:
要在--project参数中插入迁移程序集的完整路径,如下所示:
dotnet ef migrations add Mymigration --project "c:eposmyprojectData"
...并且您应该从主启动项目(如c:Eposmyproject网站)相关推荐
最新文章