指定的deps.json [path\App.Web.Site\App.Web.deps.json] 不存在
Posted
技术标签:
【中文标题】指定的deps.json [path\\App.Web.Site\\App.Web.deps.json] 不存在【英文标题】: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 中找到
【问题讨论】:
【参考方案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>
【讨论】:
以上是关于指定的deps.json [path\App.Web.Site\App.Web.deps.json] 不存在的主要内容,如果未能解决你的问题,请参考以下文章
深入理解.NET Core的基元: deps.json, runtimeconfig.json, dll文件
json 制作的Airbnb-eslint-deps.json