I have a problem with Paket when it tries to pack the dlls for my project, I just get a "Paket failed with: Access to the path is denied", I have the following configuration
In the postbuild event for VisualStudio I call a bat file to call the script for fake
build.bat
@ECHO off
cls
SET TargetName=%1
SET BuildMode=%2
SET SolutionDir=%~dp0
rem Get latests version of Paket
"%~dp0.paket\paket.bootstrapper.exe"
IF errorlevel 1 (
ECHO error on paket.bootstrapper
)
rem Download the dependencies specified by the paket.lock file into the packages/ directory.
"%~dp0.paket\paket.exe" restore
IF errorlevel 1 (
ECHO error on paket.restore
)
rem ECHO Starting FAKE build.fsx
"%SolutionDir%packages\FAKE\tools\FAKE.exe" "%SolutionDir%buildPackage.fsx" -ev TargetName %TargetName% -ev BuildMode %BuildMode% -ev SolutionDir "%SolutionDir%
build.fsx
open Fake.AssemblyInfoFile
open System
open Paket
//CommandLineArguments
let TargetName = Environment.GetEnvironmentVariable("TargetName")
let SolutionDir = Environment.GetEnvironmentVariable("SolutionDir")
let BuildMode = Environment.GetEnvironmentVariable("BuildMode")
//Paths
let AssemblyFilePath = SolutionDir + TargetName + @"\Properties\AssemblyInfo.cs"
let PaketPath = SolutionDir + @".paket\paket.exe"
let PaketOutPath = @"X:\nuget\" + TargetName
let buildDir = SolutionDir + TargetName + @"\bin\Fake\" + BuildMode
//Constants
let constantSolution = SolutionDir + TargetName + @"\" + TargetName + ".csproj"
//Functions
let GetVersion =
GetAttributeValue "AssemblyVersion" AssemblyFilePath
//Targets
Target "Clean" (fun _ ->
Console.WriteLine ("Cleaning up")
CleanDir buildDir
)
Target "BuildApp" (fun _ ->
Console.WriteLine("Building application on " + buildDir)
if BuildMode = "Debug" then MSBuildDebug buildDir "Build" !! constantSolution
|> Log "AppBuild-Output:"
else MSBuildRelease buildDir "Build" !! constantSolution
|>Log "AppBuild-Output"
)
Target "CreatePackage" (fun _ ->
Pack (fun p ->
{p with
Version = GetVersion.Value
OutputPath = PaketOutPath
BuildConfig = BuildMode
ToolPath = PaketPath
TemplateFile = SolutionDir + TargetName
BuildPlatform = "x86"
WorkingDir = buildDir
})
)
Dependencies
"Clean"
==> "BuildApp"
==> "CreatePackage"
RunTargetOrDefault "CreatePackage"
I'm completely lost here, and google doesn't help, any ideas why paket is failing? Thanks in advance, any ideas will be wellcome.
Found the problem... In the Target "CreatePackage", I was using on the field TemplateFile the path for that file, excluding the actual name of the file
This is the "fix"