diff --git a/Frends.MicrosoftSQL.ExecuteQueryToFile/CHANGELOG.md b/Frends.MicrosoftSQL.ExecuteQueryToFile/CHANGELOG.md
index 528ac6f..a74161e 100644
--- a/Frends.MicrosoftSQL.ExecuteQueryToFile/CHANGELOG.md
+++ b/Frends.MicrosoftSQL.ExecuteQueryToFile/CHANGELOG.md
@@ -1,5 +1,9 @@
# Changelog
+## [2.2.0] - 2026-01-14
+### Fixed
+- Fix unloading assembly
+
## [2.1.0] - 2024-12-16
### Added
- Added Microsoft.SqlServer.Types dependency so that SqlGeography and SqlGeometry typed objects can be handled.
diff --git a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/FileEncoding.cs b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/FileEncoding.cs
index cdc2840..f0fa0a8 100644
--- a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/FileEncoding.cs
+++ b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/FileEncoding.cs
@@ -1,17 +1,17 @@
-namespace Frends.MicrosoftSQL.ExecuteQueryToFile.Enums;
-
-#pragma warning disable CS1591 // Self-explanatory
-
-///
-/// File encoding used to encode the file.
-///
-public enum FileEncoding
-{
- UTF8,
- ANSI,
- ASCII,
- Unicode,
- Other,
-}
-
+namespace Frends.MicrosoftSQL.ExecuteQueryToFile.Enums;
+
+#pragma warning disable CS1591 // Self-explanatory
+
+///
+/// File encoding used to encode the file.
+///
+public enum FileEncoding
+{
+ UTF8,
+ ANSI,
+ ASCII,
+ Unicode,
+ Other,
+}
+
#pragma warning restore CS1591 // Self-explanatory
\ No newline at end of file
diff --git a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/ReturnFormat.cs b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/ReturnFormat.cs
index f37af8c..4c47233 100644
--- a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/ReturnFormat.cs
+++ b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Enums/ReturnFormat.cs
@@ -1,13 +1,13 @@
-namespace Frends.MicrosoftSQL.ExecuteQueryToFile.Enums;
-
-#pragma warning disable CS1591 // Self-explanatory
-
-///
-/// Enumeration for output format.
-///
-public enum ReturnFormat
-{
- CSV,
-}
-
+namespace Frends.MicrosoftSQL.ExecuteQueryToFile.Enums;
+
+#pragma warning disable CS1591 // Self-explanatory
+
+///
+/// Enumeration for output format.
+///
+public enum ReturnFormat
+{
+ CSV,
+}
+
#pragma warning restore CS1591 // Self-explanatory
\ No newline at end of file
diff --git a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.cs b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.cs
index 1e5d353..0033dd4 100644
--- a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.cs
+++ b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.cs
@@ -1,19 +1,32 @@
-namespace Frends.MicrosoftSQL.ExecuteQueryToFile;
-
-using System;
+using System;
using System.ComponentModel;
using System.Data;
+using System.Reflection;
+using System.Runtime.Loader;
using System.Threading;
using System.Threading.Tasks;
using Frends.MicrosoftSQL.ExecuteQueryToFile.Definitions;
using Frends.MicrosoftSQL.ExecuteQueryToFile.Enums;
using Microsoft.Data.SqlClient;
+namespace Frends.MicrosoftSQL.ExecuteQueryToFile;
+
///
/// Main class of the Task.
///
public static class MicrosoftSQL
{
+ static MicrosoftSQL()
+ {
+ var currentAssembly = Assembly.GetExecutingAssembly();
+ var currentContext = AssemblyLoadContext.GetLoadContext(currentAssembly);
+
+ if (currentContext != null)
+ {
+ currentContext.Unloading += OnPluginUnloadingRequested;
+ }
+ }
+
///
/// Frends Task for executing Microsoft SQL queries into a file.
/// [Documentation](https://tasks.frends.com/tasks/frends-tasks/Frends.MicrosoftSQL.ExecuteQueryToFile).
@@ -25,6 +38,7 @@ public static class MicrosoftSQL
public static async Task ExecuteQueryToFile([PropertyTab] Input input, [PropertyTab] Options options, CancellationToken cancellationToken)
{
Result result = new();
+
using (var sqlConnection = new SqlConnection(input.ConnectionString))
{
await sqlConnection.OpenAsync(cancellationToken);
@@ -59,10 +73,16 @@ public static async Task ExecuteQueryToFile([PropertyTab] Input input, [
case ReturnFormat.CSV:
var csvWriter = new CsvFileWriter(command, input, options.CsvOptions);
result = await csvWriter.SaveQueryToCSV(cancellationToken);
+
break;
}
}
return result;
}
-}
+
+ private static void OnPluginUnloadingRequested(AssemblyLoadContext obj)
+ {
+ obj.Unloading -= OnPluginUnloadingRequested;
+ }
+}
\ No newline at end of file
diff --git a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.csproj b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.csproj
index ec6c0bf..0bd3cc0 100644
--- a/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.csproj
+++ b/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile/Frends.MicrosoftSQL.ExecuteQueryToFile.csproj
@@ -3,7 +3,7 @@
net6.0
Latest
- 2.1.0
+ 2.2.0
Frends
Frends
Frends