ericsink / SQLitePCL.raw

A Portable Class Library (PCL) for low-level (raw) access to SQLite
Apache License 2.0
523 stars 109 forks source link

error "The specified deps.json [] does not exist" when executing "add-migration initial" #533

Open tysongibby opened 1 year ago

tysongibby commented 1 year ago

SQLitePCLRaw handles many platforms and configurations. If you are having trouble, we typically need a LOT of information from you in order to help figure out what is going wrong.

The following questions are provided to help you see what kinds of information we need:

What version of SQLitePCLRaw are you using? 2.1.3

If you are using one of the SQLitePCLRaw bundle packages, which one? SQLitePCLRaw.bundle_e_sqlite3

What platform are you running on? What operating system? Which version? What CPU? Visual Studio 2022 17.43, Blazor WASM .NET 6, Windows 11 Pro 22H2 22621.963, Intel(R) Core(TM) i7-10750H CPU @ 2.60GHz 2.59 GHz

What target framework are you building for? Blazor WASM .NET 6

Are you on .NET Framework or the newer stuff (.NET Core, .NET 5+, etc)? .NET 6

Are you using the command line, or an IDE? Which IDE? Which version of that IDE? Visual Studio 2022 17.43

Is this problem something that just started happening? For example, were things working well for you and then you updated something and then the problem showed up? What changed? Have not yet been able to get this to successfully create the first database migration

What is the exact error message you are seeing when the problem happens? "The specified deps.json [C:\git\ThePlayer\ThePlayer\Client\bin\Debug\net6.0\ThePlayer.Client.deps.json] does not exist"

Are you using PackageReference or packages.config? PackageReference

If you are using mobile platforms, are you on classic/legacy Xamarin or on .NET 6 and higher? NA

Sometimes other packages using SQLitePCLRaw cause problems when they are mixed together. What other packages are you including in your project? These are all the packages currently referenced in my project:

  <ItemGroup>    
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="6.0.12" />
    <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="6.0.12" PrivateAssets="all" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="6.0.12" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="6.0.12">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="SQLitePCLRaw.bundle_e_sqlite3" Version="2.1.3" />
  </ItemGroup>

How can we reproduce the problem you are seeing? Your issue will get attention much faster if you attach a minimal reproduction sample project. This is a link to my code. The issue occurs when I use the package manager console to add the initial migration ( "add-migration initial" https://github.com/tysongibby/ThePlayer

ericsink commented 1 year ago

Thanks for providing details.

I can't tell yet if this issue is specific to SQLitePCLRaw, or if it's related more closely to EF or Blazor. Have you checked with anybody in the EF repo on this, or is this issue here your starting point?

tysongibby commented 1 year ago

Hi Eric, thanks for the quick response. Other than a post on StackOverflow that got no answers, this is my starting point. I'll check with the EF repo to see if they have anything.

tysongibby commented 1 year ago

There appear to be no known issues about this deps.json issue. Will it be best if I open an issue with them first?

ericsink commented 1 year ago

Let's tag @bricelam and ask his advice.

Brice, I'm not sure if this issue belongs here or with EF or if maybe it's Wasm-specific or what. Any insight or guidance?

tysongibby commented 1 year ago

If it helps I do get some warnings when I rebuild:

Rebuild started...
1>------ Rebuild All started: Project: ThePlayer.Shared, Configuration: Debug Any CPU ------
Restored C:\git\ThePlayer\ThePlayer\Server\ThePlayer.Server.csproj (in 43 ms).
Restored C:\git\ThePlayer\ThePlayer\Client\ThePlayer.Client.csproj (in 44 ms).
Restored C:\git\ThePlayer\ThePlayer\Shared\ThePlayer.Shared.csproj (in 43 ms).
1>ThePlayer.Shared -> C:\git\ThePlayer\ThePlayer\Shared\bin\Debug\net6.0\ThePlayer.Shared.dll
2>------ Rebuild All started: Project: ThePlayer.Client, Configuration: Debug Any CPU ------
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning : Found a native function (sqlite3_config) with varargs in e_sqlite3. Calling such functions is not supported, and will fail at runtime. Managed DllImports: 
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_config_none(System.Int32) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_config_int(System.Int32, System.Int32) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_config_int_arm64cc(System.Int32, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.Int32) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_config_log(System.Int32, System.IntPtr, SQLitePCL.hook_handle) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_config_log_arm64cc(System.Int32, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, SQLitePCL.hook_handle) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning : Found a native function (sqlite3_db_config) with varargs in e_sqlite3. Calling such functions is not supported, and will fail at runtime. Managed DllImports: 
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_db_config_charptr(SQLitePCL.sqlite3, System.Int32, System.Byte*) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_db_config_charptr_arm64cc(SQLitePCL.sqlite3, System.Int32, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.Byte*) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_db_config_int_outint(SQLitePCL.sqlite3, System.Int32, System.Int32, System.Int32*) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_db_config_int_outint_arm64cc(SQLitePCL.sqlite3, System.Int32, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.Int32, System.Int32*) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_db_config_intptr_int_int(SQLitePCL.sqlite3, System.Int32, System.IntPtr, System.Int32, System.Int32) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.12\Sdk\WasmApp.Native.targets(244,5): warning :     System.Int32 sqlite3_db_config_intptr_int_int_arm64cc(SQLitePCL.sqlite3, System.Int32, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.IntPtr, System.Int32, System.Int32) (in [SQLitePCLRaw.provider.e_sqlite3] SQLitePCL.SQLite3Provider_e_sqlite3+NativeMethods)
2>Compiling native assets with emcc. This may take a while ...
2>[1/3] pinvoke.c -> pinvoke.o [took 0.38s]
2>[2/3] corebindings.c -> corebindings.o [took 0.46s]
2>[3/3] driver.c -> driver.o [took 0.56s]
2>Linking with emcc. This may take a while ...
2> "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\bin\wasm-ld.exe" -o C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\dotnet.wasm C:\Users\tyson.LAPPY9000\.nuget\packages\sqlitepclraw.lib.e_sqlite3\2.1.3\buildTransitive\net6.0\..\..\runtimes\browser-wasm\nativeassets\net6.0\e_sqlite3.a C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\pinvoke.o C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\driver.o C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\corebindings.o "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libicui18n.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libicuuc.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-component-debugger-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-component-diagnostics_tracing-stub-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-component-hot_reload-static.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-ee-interp.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-icall-table.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-ilgen.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmono-profiler-aot.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libmonosgen-2.0.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libSystem.IO.Compression.Native.a" "C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Runtime.Mono.browser-wasm\6.0.12\runtimes\browser-wasm\native\libSystem.Native.a" "-LC:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libgl.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libal.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libhtml5.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libcompiler_rt.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc++abi.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libdlmalloc.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libc_rt_wasm.a" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\cache\sysroot\lib\wasm32-emscripten\libsockets.a" -mllvm -combiner-global-alias-analysis=false -mllvm -enable-emscripten-cxx-exceptions -mllvm -enable-emscripten-sjlj -mllvm -disable-lsr --allow-undefined --export putchar --export stackSave --export stackRestore --export stackAlloc --export __wasm_call_ctors --export __errno_location --export malloc --export free --export __cxa_is_pointer_type --export __cxa_can_catch --export setThrew --export _get_tzname --export _get_daylight --export _get_timezone --export memalign --export memset --export emscripten_main_thread_process_queued_calls --export ntohs --export htons --export htonl --export-if-defined=__start_em_asm --export-if-defined=__stop_em_asm --export-table -z stack-size=5242880 --initial-memory=536870912 --no-entry --max-memory=2147483648 --global-base=1024
2> "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\bin\wasm-emscripten-finalize" --minimize-wasm-changes -g --dyncalls-i64 --dwarf C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\dotnet.wasm -o C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\dotnet.wasm --detect-features
2> "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Node.win-x64\6.0.12\tools\bin\node.exe" "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\emscripten\src\compiler.js" C:\Users\TYSON~1.LAP\AppData\Local\Temp\tmppxf580an.txt
2> "C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.Emscripten.2.0.23.Sdk.win-x64\6.0.12\tools\bin\llvm-objcopy.exe" C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\dotnet.wasm C:\git\ThePlayer\ThePlayer\Client\obj\Debug\net6.0\wasm\for-build\dotnet.wasm --remove-section=producers
2>Optimizing dotnet.wasm ...
2>ThePlayer.Client -> C:\git\ThePlayer\ThePlayer\Client\bin\Debug\net6.0\ThePlayer.Client.dll
2>ThePlayer.Client (Blazor output) -> C:\git\ThePlayer\ThePlayer\Client\bin\Debug\net6.0\wwwroot
2>Done building project "ThePlayer.Client.csproj".
3>------ Rebuild All started: Project: ThePlayer.Server, Configuration: Debug Any CPU ------
3>ThePlayer.Server -> C:\git\ThePlayer\ThePlayer\Server\bin\Debug\net6.0\ThePlayer.Server.dll
========== Rebuild All: 3 succeeded, 0 failed, 0 skipped ==========
========== Elapsed 00:18.020 ==========