You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Found a bug in my own contribution to this project 馃槃 It seems that there are scenarios where the same unmanaged DLL is resolved multiple times, which is not handled very well in the current shadow copy implementation.
System.IO.IOException: The file 'path\to\temp\random_dir_name\some_unmanaged.dll' already exists.
The fix is quite easy: Just return the path to the already existing DLL in the shadow copy directory.
I did, however, stumple upon a different issue when trying to reproduce this issue using Microsoft.Data.Sqlite (hot-reload sample), which I'll create a separate issue for.
To Reproduce
Steps to reproduce the behavior:
Using version 1.3.0 of this library
Enable hot reload
Create a plugin (TargetFramework netcoreapp3.1) with a package reference to System.Data.SQLite (v1.0.113.1)
Create an SQLiteConnection: new SQLiteConnection("DataSource=SomeFile.sqlite")
See error: System.IO.IOException: The file 'path\to\temp\random_dir_name\SQLite.Interop.dll' already exists.
Expected behavior
No exceptions thrown.
The text was updated successfully, but these errors were encountered:
In some scenarios the same unmanaged DLL is resolved multiple times
(e.g. when using System.Data.SQLite.SQLiteConnection). The previous
implementation would then try to create new shadow copies of the same
DLL during subsequent resolves. This failed during copy of the DLL since
the parameter to enable overwriting was not set to true.
This fix checks if the shadow copy already exists and skips the copy
step if it does. The path to the existing shadow copy is returned
instead.
Fixesnatemcmaster#146
In some scenarios the same unmanaged DLL is resolved multiple times
(e.g. when using System.Data.SQLite.SQLiteConnection). The previous
implementation would then try to create new shadow copies of the same
DLL during subsequent resolves. This failed during copy of the DLL since
the parameter to enable overwriting was not set to true.
This fix checks if the shadow copy already exists and skips the copy
step if it does. The path to the existing shadow copy is returned
instead.
Fixes#146
Describe the bug
Found a bug in my own contribution to this project 馃槃 It seems that there are scenarios where the same unmanaged DLL is resolved multiple times, which is not handled very well in the current shadow copy implementation.
System.IO.IOException: The file 'path\to\temp\random_dir_name\some_unmanaged.dll' already exists.
The fix is quite easy: Just return the path to the already existing DLL in the shadow copy directory.
I did, however, stumple upon a different issue when trying to reproduce this issue using Microsoft.Data.Sqlite (hot-reload sample), which I'll create a separate issue for.
To Reproduce
Steps to reproduce the behavior:
new SQLiteConnection("DataSource=SomeFile.sqlite")
System.IO.IOException: The file 'path\to\temp\random_dir_name\SQLite.Interop.dll' already exists.
Expected behavior
No exceptions thrown.
The text was updated successfully, but these errors were encountered: