diff --git a/nukebuild/BuildTasksPatcher.cs b/nukebuild/BuildTasksPatcher.cs
index e3766ae23f..5fd331035a 100644
--- a/nukebuild/BuildTasksPatcher.cs
+++ b/nukebuild/BuildTasksPatcher.cs
@@ -17,8 +17,12 @@ public class BuildTasksPatcher
{
if (entry.Name == "Avalonia.Build.Tasks.dll")
{
- var temp = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".dll");
+ var tempDir = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
+ Directory.CreateDirectory(tempDir);
+ var temp = Path.Combine(tempDir, Guid.NewGuid() + ".dll");
var output = temp + ".output";
+ File.Copy(typeof(Microsoft.Build.Framework.ITask).Assembly.GetModules()[0].FullyQualifiedName,
+ Path.Combine(tempDir, "Microsoft.Build.Framework.dll"));
var patched = new MemoryStream();
try
{
@@ -57,10 +61,8 @@ public class BuildTasksPatcher
{
try
{
- if (File.Exists(temp))
- File.Delete(temp);
- if (File.Exists(output))
- File.Delete(output);
+ if(Directory.Exists(tempDir))
+ Directory.Delete(tempDir, true);
}
catch
{
diff --git a/nukebuild/_build.csproj b/nukebuild/_build.csproj
index b9bb4f24b8..9100509ec4 100644
--- a/nukebuild/_build.csproj
+++ b/nukebuild/_build.csproj
@@ -18,6 +18,7 @@
+