Eug*_*ukh 9 .net c# entity-framework entity-framework-core
TooSeeWeb.Infrastructure 用于迁移。
当我尝试使用此命令运行迁移时
dotnet ef migrations add ExampleMigration -s ..\TooSeeWeb
Run Code Online (Sandbox Code Playgroud)
我有这个错误
无法检索项目元数据。确保它是基于 MSBuild 的 .NET Core 项目。如果您使用自定义 BaseIntermediateOutputPath 或 MSBuildProjectExtensionsPath 值,请使用 --msbuildprojectextensionspath 选项
我该如何解决这个问题?
Cod*_*ife 31
这是 2 年前的文章,但我也处于同样的情况,所以它仍然具有相关性。这是 Google 上针对此错误的第一个结果。
因此,我可以在您的屏幕截图中看到您不在标准 Windows Visual Studio 中,因此我假设您不在 Windows 上(在如何编写文件路径方面存在差异)。我还可以看到您使用了..\TooSeeWeb反斜杠。
解决方案:将所有内容更改\为/正斜杠,因此在您的情况下我想它会是:
dotnet ef migrations add ExampleMigration -s ../TooSeeWeb
Run Code Online (Sandbox Code Playgroud)
对我来说,它在 Windows 上运行,但在 macOS (OS X) 上失败并出现以下错误:
无法检索项目元数据。确保它是一个 SDK 风格的项目。如果使用自定义 BaseIntermediateOutputPath 或 MSBuildProjectExtensionsPath 值,请使用 --msbuildprojectextensionspath 选项。
此外,它还提供了信息(提供了更好的提示):
MSBUILD:错误MSB1009:项目文件不存在。
这是我更复杂的声明使用正斜杠:
dotnet ef --startup-project ./MainProject.csproj migrations add MyMigration --context MyDbContextPostgreSQL --output-dir Migrations --project ../MyDatabasePostgreSQL/MyDatabasePostgreSQL.csproj
Run Code Online (Sandbox Code Playgroud)
小智 5
你必须指向你的网络项目
dotnet ef --startup-project ../TooSeeWeb migrations add MigrationName -c NameOfYourDBContext
Run Code Online (Sandbox Code Playgroud)
有关多项目的更多详细信息,您可以找到https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/projects
| 归档时间: |
|
| 查看次数: |
11062 次 |
| 最近记录: |