【问题标题】:The specified deps.json [path\App.Web.Site\App.Web.deps.json] does not exist指定的deps.json [path\App.Web.Site\App.Web.deps.json] 不存在
【发布时间】:2019-10-23 06:39:00
【问题描述】:

我尝试在我的 .net 核心 Web 应用程序上运行实体框架 (Microsoft.EntityFrameworkCore 2.24) 迁移,我得到了这个:

PM> add-migration "initial"
The specified deps.json [path\App.Web.Site\App.Web.deps.json] does not exist

这里有什么问题?

附: App.Web.deps.json 可以在 path\App.Web.Site\bin\Debug\netcoreapp2.2 中找到

【问题讨论】:

    标签: .net .net-core visual-studio-2017 entity-framework-core visual-studio-2019


    【解决方案1】:

    我仍然不知道问题是什么,但是将 Visual Studio 2019 降级到 2017 以某种方式解决了这个问题。

    【讨论】:

      【解决方案2】:

      我在将 Visual Studio 更新到 16.1.3 后遇到了同样的问题。创建新项目,运行它,停止调试,然后我在包管理器控制台中阅读以下内容:

      PM> add-migration -v initial
      Using project 'TestEf2'.
      Using startup project 'TestEf2'.
      Build started...
      Build succeeded.
      C:\Program Files\dotnet\dotnet.exe exec --depsfile G:\testef\TestEf2\TestEf2.deps.json --additionalprobingpath C:\Users\snytko\.nuget\packages --additionalprobingpath "C:\Program Files\dotnet\sdk\NuGetFallbackFolder" "C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.entityframeworkcore.tools\2.2.0\tools\netcoreapp2.0\any\ef.dll" migrations add initial --json --verbose --no-color --prefix-output --assembly G:\testef\TestEf2\TestEf2.dll --startup-assembly G:\testef\TestEf2\TestEf2.dll --project-dir G:\testef\TestEf2\ --language C# --working-dir G:\testef\TestEf2 --root-namespace TestEf2
      The specified deps.json [G:\testef\TestEf2\TestEf2.deps.json] does not exist
      PM> 
      

      我使用他们的反馈系统将此提交给了微软。希望它有效。生成的文件在另一个路径:

      G:\testef\TestEf2\bin\Debug\netcoreapp2.2\TestEf2.deps.json
      

      每次需要使用迁移时,只需将 bin 目录的所有内容复制到 EF 搜索 deps 文件的路径即可。

      【讨论】:

        【解决方案3】:

        我在 VS 16.11.7 上遇到了同样的问题,这让我很头疼。

        当然这里有一些解决方法: https://github.com/dotnet/efcore/issues/16386

        这些步骤也对我有用:

        a) dotnet tool uninstall --global dotnet-ef(仅在存在时删除)

        b) dotnet tool install --global dotnet-ef (如果不存在则安装)

        c) dotnet ef(查看是否安装正确)

        d) dotnet ef 迁移添加 InitialCreate

        e) dotnet ef 数据库更新

        如果你和我有同样的问题,最简单的方法是从 VS Package Manager 控制台运行这个命令:

        (Get-Project).ConfigurationManager.ActiveConfiguration.Properties.Item('OutputPath').Value

        最初的结果是一个空异常。 在另一台机器上,结果是“bin\Debug\net5.0”

        但我最终通过从 Visual Studio 安装程序卸载并重新安装以下组件解决了这个问题:

        • ASP.NET 和 Web 开发
        • Azure 开发
        • .net跨平台开发

        希望对您有所帮助! 竖起大拇指!

        【讨论】:

          【解决方案4】:

          尝试将此添加到您的 .csproj 文件中

          <PropertyGroup>
            <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
          </PropertyGroup>
          

          【讨论】:

            猜你喜欢
            • 2017-05-26
            • 2020-05-27
            • 2019-11-11
            • 2023-02-01
            • 1970-01-01
            • 2021-08-31
            • 2017-08-03
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多