添加迁移时出现构建错误

时间:2021-07-14 11:09:50

标签: c# entity-framework msbuild .net-5

我有一个单独的 Web 应用程序,它包含在一个仅包含模型、迁移和 dbcontext 的项目中,另一个项目中定义了其他所有内容,如控制器和服务。

然后我有一个 Web 应用程序,它可以修改另一个应用程序的源代码以将字段添加到模型类中。

当我在 cmd 或 powershell 中手动执行迁移添加命令时,一切正常,我获得了带有传递的迁移名称的迁移文件。

但是,当我使用 C# 进程执行迁移添加命令时,出现以下错误:

<块引用>

C:\Program Files\dotnet\sdk\5.0.301\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(54,5):错误 MSB4184:表达式“[MSBuild]: :GetTargetFrameworkIdentifier(net5.0)" 无法评估。 MSB0001:内部 MSBuild 错误:找不到所需的 NuGet 程序集。预期路径:C:\Program Files\dotnet\sdk\5.0.301 [定义模型的项目的csproj路径] 无法检索项目元数据。确保它是一个 SDK 风格的项目。如果您使用自定义 BaseIntermediateOutputPath 或 MSBuildProjectExtensionsPath 值,请使用 --msbuildprojectextensionspath 选项。

所有以“net5.0”为目标框架的应用程序。

执行的命令:

dotnet ef migrations add migration_name -o path_to_migration_folder -s path_to_startup_project -p path_to_models_and_migration_project

0 个答案:

没有答案