繁体   English   中英

找不到无效路径的 EF Core 添加迁移错误

[英]EF Core Add-Migration error with invalid path not found

我在 startup.cs 中创建了一个 dbcontext net core proj,还有一个 web service net core proj (Proca.WebAPI) 和 ConfigureServices。 然后我将 Web 服务项目设置为启动项目并尝试在程序包管理器控制台中运行“Add-Migration InitialCreate”。 然后我收到以下错误:

PM> Add-Migration InitialCreate The running command stopped because the preference variable "ErrorActionPreference" or common parameter is set to Stop: 找不到路径 'E:\git\Proca.Core\src\Proca.WebAPI\E:\git\Proca .Core\out\bin\Proca.WebAPI\Debug\netcoreapp2.1\' 因为它不存在。

我只是感到困惑,为什么路径与前缀启动项目路径重复。 这里有什么问题或缺少配置吗? 我还尝试将 dbcontext proj 作为启动 proj 并执行相同的操作,但仍然出现类似的错误。

谢谢

忽略这个问题。

这是因为同事在PropertyGroup(Directory.Build.props)中设置了输出路径,所以导致这个路径无效。 在 csproj 文件中重置此值后,它解决了问题。

这是一个较旧的问题,但我在尝试将 ef core 3.1 迁移工具与 Directory.Build.props 一起使用时遇到了它。 似乎 ef 核心迁移工具正在连接 BaseIntermediateOutputPath 和 OutputPath,因为我会收到以下错误://

“ErrorActionPreference”或公共参数设置为 Stop: Cannot find path 'C:\code\MySolution\src\MyProject\C:\code\MySolution\build\bin\MyProject\Debug\netcoreapp3.1\' 因为它没有存在。

注意:我的项目遵循 C:\code\MySolutionFolder\src\MyProjectFolder 的结构,输出 (bin) 和中间 (obj) 的构建文件夹 (C:\code\MySolutionFolder\build\) 是上面的两个文件夹 ( ..\..\) 项目文件夹。

原文://Directory.Build.props

<Project>
  <PropertyGroup>
    <BaseIntermediateOutputPath>$(SolutionDir)build\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
    <IntermediateOutputPath>$(BaseIntermediateOutputPath)</IntermediateOutputPath>
    <OutputPath>$(SolutionDir)build\bin\$(MSBuildProjectName)\$(Configuration)\</OutputPath>
  </PropertyGroup>
</Project>

WorkAround:// 我使用以下解决方法来使用 ef 核心迁移工具并仍然保留我的构建过程和文件夹。 (在 OutputPath 中将 $(SolutionDir) 替换为 ..\..\)

<Project>
  <PropertyGroup>
    <BaseIntermediateOutputPath>$(SolutionDir)build\obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
    <IntermediateOutputPath>$(BaseIntermediateOutputPath)</IntermediateOutputPath>
    <OutputPath>..\..\build\bin\$(MSBuildProjectName)\$(Configuration)\</OutputPath>
  </PropertyGroup>
</Project>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM