cake-build / cake-vs

Cake Extension for Visual Studio
https://marketplace.visualstudio.com/items?itemName=vs-publisher-1392591.CakeforVisualStudio
MIT License
67 stars 25 forks source link

Debugging Cake.exe in visual studio addin dlls not resolved "404" #131

Open robgha01 opened 7 years ago

robgha01 commented 7 years ago

What You Are Seeing?

Im seeing this: image

it can't find any cake addins but thay are downloaded and getting installed, this goes for all addins. if i manually copy the dll file from addins folder to cake.exe folder it works.

im using a custom configuration that looks like this (cake.config):

; The configuration file for Cake.

[Paths]
Tools=./../.tools
Addins=./../.tools/Addins
Modules=./../.tools/Modules

What is Expected?

That cake can load all addins and possible tools if this also affects it while im debugging.

What version of Cake are you using?

0.19.4.0

Are you running on a 32 or 64 bit system?

64

What environment are you running on? Windows? Linux? Mac?

Windows

Are you running on a CI Server? If so, which one?

No

How Did You Get This To Happen? (Steps to Reproduce)

Im using -Experimental and -Debug flags with -Verbosity diagnostic also tested with -Mono

Output Log

Runing: D:\Workspaces\BlueLeet\BlueLeet.UCodeFirst\Build\build.cake[0]
Preparing to run build script...
Running build script...
Module directory does not exist.
Performing debug...
Attach debugger to process 39348 to continue
Debugger attached
Analyzing build script...
Analyzing D:/Workspaces/BlueLeet/BlueLeet.UCodeFirst/Build/build.cake...
Package BlueLeet.Build has already been installed.
Analyzing D:/Workspaces/BlueLeet/BlueLeet.UCodeFirst/.tools/BlueLeet.Build/content/base.cake...
Processing build script...
Installing tools...
Package docfx.msbuild has already been installed.
Package xunit.runner.console has already been installed.
Package GitVersion.CommandLine has already been installed.
Package Cake.CoreCLR has already been installed.
Installing addins...
Package NuGet.Core has already been installed.
The addin NuGet.Core will reference NuGet.Core.dll.
Package Cake.ExtendedNuGet has already been installed.
The addin Cake.ExtendedNuGet will reference Cake.ExtendedNuGet.dll.
Package Cake.Powershell has already been installed.
The addin Cake.Powershell will reference Cake.Powershell.dll.
The addin Cake.Powershell will reference System.Management.Automation.dll.
Package Cake.Git has already been installed.
The addin Cake.Git will reference Cake.Git.dll.
The addin Cake.Git will reference LibGit2Sharp.dll.
Package RestSharp has already been installed.
The addin RestSharp will reference RestSharp.dll.
Package Cake.Json has already been installed.
The addin Cake.Json will reference Cake.Json.dll.
The addin Cake.Json will reference Newtonsoft.Json.dll.
Package Cake.DocFx has already been installed.
The addin Cake.DocFx will reference Cake.DocFx.dll.
Package BlueLeet.Build has already been installed.
The addin BlueLeet.Build will reference BlueLeet.Build.dll.
Creating script session...
Using prerelease build of Roslyn.
Adding reference to Microsoft.CSharp.dll...
Adding reference to System.dll...
Adding reference to mscorlib.dll...
Adding reference to System.Core.dll...
Could not load D:\Workspaces\BlueLeet\BlueLeet.UCodeFirst\.tools\Addins\Cake.ExtendedNuGet\lib\net45\Cake.ExtendedNuGet.dll (missing NuGet.Core, Version=2.14.0.832, Culture=neutral, PublicKeyToken=31bf3856ad364e35))
Adding reference to mscorlib.dll...
Adding reference to System.Core.dll...
Adding reference to Cake.Core.dll...
Adding reference to Cake.Common.dll...
Adding reference to Cake.exe...
Adding reference to System.dll...
Adding reference to System.Xml.dll...
Adding reference to System.Xml.Linq.dll...
Adding reference to System.Data.dll...
Adding reference to NuGet.Core.dll...
Adding reference to Cake.ExtendedNuGet.dll...
Adding reference to Cake.Powershell.dll...
Adding reference to System.Management.Automation.dll...
Adding reference to Cake.Git.dll...
Adding reference to LibGit2Sharp.dll...
Adding reference to RestSharp.dll...
Adding reference to Cake.Json.dll...
Adding reference to Newtonsoft.Json.dll...
Adding reference to Cake.DocFx.dll...
Adding reference to BlueLeet.Build.dll...
Importing namespace BlueLeet.Build.Extensions...
Importing namespace Cake.Common...
Importing namespace Cake.Common.Build...
Importing namespace Cake.Common.Build.AppVeyor...
Importing namespace Cake.Common.Build.AppVeyor.Data...
Importing namespace Cake.Common.Build.Bamboo...
Importing namespace Cake.Common.Build.Bamboo.Data...
Importing namespace Cake.Common.Build.BitbucketPipelines...
Importing namespace Cake.Common.Build.BitbucketPipelines.Data...
Importing namespace Cake.Common.Build.Bitrise...
Importing namespace Cake.Common.Build.Bitrise.Data...
Importing namespace Cake.Common.Build.ContinuaCI...
Importing namespace Cake.Common.Build.ContinuaCI.Data...
Importing namespace Cake.Common.Build.GitLabCI...
Importing namespace Cake.Common.Build.GitLabCI.Data...
Importing namespace Cake.Common.Build.GoCD...
Importing namespace Cake.Common.Build.GoCD.Data...
Importing namespace Cake.Common.Build.Jenkins...
Importing namespace Cake.Common.Build.Jenkins.Data...
Importing namespace Cake.Common.Build.MyGet...
Importing namespace Cake.Common.Build.TeamCity...
Importing namespace Cake.Common.Build.TFBuild...
Importing namespace Cake.Common.Build.TFBuild.Data...
Importing namespace Cake.Common.Build.TravisCI...
Importing namespace Cake.Common.Build.TravisCI.Data...
Importing namespace Cake.Common.Diagnostics...
Importing namespace Cake.Common.IO...
Importing namespace Cake.Common.IO.Paths...
Importing namespace Cake.Common.Net...
Importing namespace Cake.Common.Security...
Importing namespace Cake.Common.Solution...
Importing namespace Cake.Common.Solution.Project...
Importing namespace Cake.Common.Solution.Project.Properties...
Importing namespace Cake.Common.Solution.Project.XmlDoc...
Importing namespace Cake.Common.Text...
Importing namespace Cake.Common.Tools...
Importing namespace Cake.Common.Tools.Cake...
Importing namespace Cake.Common.Tools.Chocolatey...
Importing namespace Cake.Common.Tools.Chocolatey.ApiKey...
Importing namespace Cake.Common.Tools.Chocolatey.Config...
Importing namespace Cake.Common.Tools.Chocolatey.Features...
Importing namespace Cake.Common.Tools.Chocolatey.Install...
Importing namespace Cake.Common.Tools.Chocolatey.New...
Importing namespace Cake.Common.Tools.Chocolatey.Pack...
Importing namespace Cake.Common.Tools.Chocolatey.Pin...
Importing namespace Cake.Common.Tools.Chocolatey.Push...
Importing namespace Cake.Common.Tools.Chocolatey.Sources...
Importing namespace Cake.Common.Tools.Chocolatey.Uninstall...
Importing namespace Cake.Common.Tools.Chocolatey.Upgrade...
Importing namespace Cake.Common.Tools.DotCover...
Importing namespace Cake.Common.Tools.DotCover.Analyse...
Importing namespace Cake.Common.Tools.DotCover.Cover...
Importing namespace Cake.Common.Tools.DotCover.Merge...
Importing namespace Cake.Common.Tools.DotCover.Report...
Importing namespace Cake.Common.Tools.DotNetCore...
Importing namespace Cake.Common.Tools.DotNetCore.Build...
Importing namespace Cake.Common.Tools.DotNetCore.Execute...
Importing namespace Cake.Common.Tools.DotNetCore.Pack...
Importing namespace Cake.Common.Tools.DotNetCore.Publish...
Importing namespace Cake.Common.Tools.DotNetCore.Restore...
Importing namespace Cake.Common.Tools.DotNetCore.Run...
Importing namespace Cake.Common.Tools.DotNetCore.Test...
Importing namespace Cake.Common.Tools.DupFinder...
Importing namespace Cake.Common.Tools.Fixie...
Importing namespace Cake.Common.Tools.GitLink...
Importing namespace Cake.Common.Tools.GitReleaseManager...
Importing namespace Cake.Common.Tools.GitReleaseManager.AddAssets...
Importing namespace Cake.Common.Tools.GitReleaseManager.Close...
Importing namespace Cake.Common.Tools.GitReleaseManager.Create...
Importing namespace Cake.Common.Tools.GitReleaseManager.Export...
Importing namespace Cake.Common.Tools.GitReleaseManager.Publish...
Importing namespace Cake.Common.Tools.GitReleaseNotes...
Importing namespace Cake.Common.Tools.GitVersion...
Importing namespace Cake.Common.Tools.ILMerge...
Importing namespace Cake.Common.Tools.ILRepack...
Importing namespace Cake.Common.Tools.InnoSetup...
Importing namespace Cake.Common.Tools.InspectCode...
Importing namespace Cake.Common.Tools.MSBuild...
Importing namespace Cake.Common.Tools.MSTest...
Importing namespace Cake.Common.Tools.NSIS...
Importing namespace Cake.Common.Tools.NuGet...
Importing namespace Cake.Common.Tools.NuGet.Add...
Importing namespace Cake.Common.Tools.NuGet.Init...
Importing namespace Cake.Common.Tools.NuGet.Install...
Importing namespace Cake.Common.Tools.NuGet.Pack...
Importing namespace Cake.Common.Tools.NuGet.Push...
Importing namespace Cake.Common.Tools.NuGet.Restore...
Importing namespace Cake.Common.Tools.NuGet.SetApiKey...
Importing namespace Cake.Common.Tools.NuGet.SetProxy...
Importing namespace Cake.Common.Tools.NuGet.Sources...
Importing namespace Cake.Common.Tools.NuGet.Update...
Importing namespace Cake.Common.Tools.NUnit...
Importing namespace Cake.Common.Tools.OctopusDeploy...
Importing namespace Cake.Common.Tools.OpenCover...
Importing namespace Cake.Common.Tools.ReportGenerator...
Importing namespace Cake.Common.Tools.ReportUnit...
Importing namespace Cake.Common.Tools.Roundhouse...
Importing namespace Cake.Common.Tools.SignTool...
Importing namespace Cake.Common.Tools.SpecFlow...
Importing namespace Cake.Common.Tools.SpecFlow.StepDefinitionReport...
Importing namespace Cake.Common.Tools.SpecFlow.TestExecutionReport...
Importing namespace Cake.Common.Tools.TextTransform...
Importing namespace Cake.Common.Tools.WiX...
Importing namespace Cake.Common.Tools.WiX.Heat...
Importing namespace Cake.Common.Tools.VSTest...
Importing namespace Cake.Common.Tools.VSWhere...
Importing namespace Cake.Common.Tools.VSWhere.All...
Importing namespace Cake.Common.Tools.VSWhere.Latest...
Importing namespace Cake.Common.Tools.VSWhere.Legacy...
Importing namespace Cake.Common.Tools.VSWhere.Product...
Importing namespace Cake.Common.Tools.XBuild...
Importing namespace Cake.Common.Tools.XUnit...
Importing namespace Cake.Common.Xml...
Importing namespace Cake.Core...
Importing namespace Cake.Core.Diagnostics...
Importing namespace Cake.Core.IO...
Importing namespace Cake.Core.Scripting...
Importing namespace Cake.DocFx...
Importing namespace Cake.DocFx.Build...
Importing namespace Cake.DocFx.Metadata...
Importing namespace Cake.ExtendedNuGet...
Importing namespace Cake.Git...
Importing namespace Cake.Json...
Importing namespace Cake.Powershell...
Importing namespace Newtonsoft.Json.Linq...
Importing namespace NuGet...
Importing namespace RestSharp...
Importing namespace RestSharp.Authenticators...
Importing namespace System...
Importing namespace System.Collections...
Importing namespace System.Collections.Generic...
Importing namespace System.Diagnostics...
Importing namespace System.IO...
Importing namespace System.Linq...
Importing namespace System.Management.Automation...
Importing namespace System.Reflection...
Importing namespace System.Text...
Importing namespace System.Threading.Tasks...
Compiling build script for debugging...
Compilation successful
Error: System.Reflection.TargetInvocationException: Ett undantagsfel har inträffat i målet för en aktivering. ---> System.IO.FileNotFoundException: Det går inte att läsa in filen eller sammansättningen Cake.Git, Version=0.14.0.0, Culture=neutral, PublicKeyToken=null eller ett av dess beroenden. Det går inte att hitta filen.
   vid Submission#0.GitFindRootFromPath(DirectoryPath path)
   vid Submission#0..ctor(Object[] submissionArray, Object& submissionResult) i D:\Workspaces\BlueLeet\BlueLeet.UCodeFirst\.tools\BlueLeet.Build\content\base.cake:rad 102
   vid Submission#0.<Factory>(Object[] submissionArray)
   --- Slut på stackspårning för interna undantag ---
   vid System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   vid System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   vid System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   vid System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
   vid Cake.Scripting.Roslyn.Nightly.DebugRoslynNightlyScriptSession.Execute(Script script)
   vid Cake.Core.Scripting.ScriptRunner.Run(IScriptHost host, FilePath scriptPath, IDictionary`2 arguments)
   vid Cake.Commands.DebugCommand.Execute(CakeOptions options)
   vid Cake.CakeApplication.Run(CakeOptions options)
   vid Cake.Program.Main()
Press Enter to continue...:

cake

gep13 commented 7 years ago

@robgha01 can you please provide a complete set of steps, ideally including a sample project, that reproduces the problems that you are seeing?

Everything that I am testing here doesn't exhibit the problems that you are seeing.

robgha01 commented 7 years ago

Hi @gep13 i have set up a sample for you, use this command to start debugging: Cake.exe "../../Build/build.cake" -target="Build-Publish" -configuration="release" -verbosity="diagnostic" -experimental -debug

you can also hit publish.bat in the build folder. Sample link: https://1drv.ms/u/s!AvOXr9f-QF0p22I9IS74xwAr5KPS

robgha01 commented 7 years ago

I need to debug my own addin c# methods and cant do so easily as when i add -debug i get dlls not found errors when i remove the -debug it works the only hack of a fix i can do is copy all addin dlls if thay have any to the cake.exe folder else its impossible to debug have you got any hint on the problem ? @gep13