diff --git a/CHANGELOG.md b/CHANGELOG.md index 98c0711..e6aab80 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # CHANGELOG +## 1.0.4 + +### changed + +* Avoid artifact left-over in certain error situations + ## 1.0.3 ### changed diff --git a/src/Runfs/Build.fs b/src/Runfs/Build.fs index 98e9d18..70cbdcb 100644 --- a/src/Runfs/Build.fs +++ b/src/Runfs/Build.fs @@ -6,7 +6,6 @@ open Microsoft.Build.Evaluation open Microsoft.Build.Execution open Microsoft.Build.Framework open Microsoft.Build.Logging -open Microsoft.Build.Locator open System open System.IO open System.Xml @@ -21,7 +20,7 @@ type Project = type MSBuildError = MSBuildError of target: string * result: string -let initMSBuild() = MSBuildLocator.RegisterDefaults() |> ignore +let initMSBuild() = Microsoft.Build.Locator.MSBuildLocator.RegisterDefaults() |> ignore let createProject verbose projectFilePath (projectFileText: string) : Project = let verbosity = if verbose then "m" else "q" @@ -46,14 +45,17 @@ let createProject verbose projectFilePath (projectFileText: string) : Project = // let projectInstance = ProjectInstance.FromProjectRootElement(projectRoot, options) File.WriteAllText(projectFilePath, projectFileText) - let projectInstance = ProjectInstance.FromFile(projectFilePath, options) - - let parameters = BuildParameters projectCollection - parameters.Loggers <- loggers - parameters.LogTaskInputs <- false - let buildManager = BuildManager.DefaultBuildManager - buildManager.BeginBuild parameters - {buildManager = buildManager; projectInstance = projectInstance} + try + let projectInstance = ProjectInstance.FromFile(projectFilePath, options) + let parameters = BuildParameters projectCollection + parameters.Loggers <- loggers + parameters.LogTaskInputs <- false + let buildManager = BuildManager.DefaultBuildManager + buildManager.BeginBuild parameters + {buildManager = buildManager; projectInstance = projectInstance} + with ex -> + File.Delete projectFilePath + reraise() let build target project = let flags = diff --git a/src/Runfs/Runfs.fsproj b/src/Runfs/Runfs.fsproj index 9b846e1..c30bf52 100644 --- a/src/Runfs/Runfs.fsproj +++ b/src/Runfs/Runfs.fsproj @@ -36,11 +36,10 @@ + - + + \ No newline at end of file