Closed bjorkstromm closed 5 years ago
Any chance you could email or DM me the binlog? Thanks!
@KirillOsenkov sure, sent you DM on Twitter.
Where can I install Microsoft.SFApp.Sdk?
:+1: and binlog is in your inbox.
More repro steps:
Seeing this stack when running the task:
> System.dll!System.Diagnostics.Process.StartWithCreateProcess Line 2138 C#
System.dll!System.Diagnostics.Process.Start Line 1884 C#
Microsoft.VisualStudio.Containers.Tools.Common.dll!Microsoft.VisualStudio.Containers.Tools.Common.Client.CommandLineClient.ExecuteCommandLineCoreAsync Line 132 C#
Microsoft.VisualStudio.Containers.Tools.Common.dll!Microsoft.VisualStudio.Containers.Tools.Common.Client.CommandLineClient.ExecuteCommandLineAsync Line 21 C#
Microsoft.VisualStudio.Containers.Tools.Common.dll!Microsoft.VisualStudio.Containers.Tools.Common.Client.DockerClient.GetServerOperatingSystemAsync Line 260 C#
Microsoft.VisualStudio.Containers.Tools.Common.dll!Microsoft.VisualStudio.Containers.Tools.Common.Prerequisites.DockerTargetOSCheckPrerequisite.EvaluateAsync Line 35 C#
Microsoft.VisualStudio.Azure.SFApp.Shared.dll!Microsoft.VisualStudio.Azure.SFApp.Shared.Build.ServiceProjectBuilder.DockerOSModeMatchesProjectAsync Unknown
mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<bool>.Start<Microsoft.VisualStudio.Azure.SFApp.Shared.Build.ServiceProjectBuilder.<DockerOSModeMatchesProjectAsync>d__10> Line 471 C#
Microsoft.VisualStudio.Azure.SFApp.Shared.dll!Microsoft.VisualStudio.Azure.SFApp.Shared.Build.ServiceProjectBuilder.DockerOSModeMatchesProjectAsync Unknown
Microsoft.VisualStudio.Azure.SFApp.Shared.dll!Microsoft.VisualStudio.Azure.SFApp.Shared.Build.ServiceProjectBuilder.BuildAsync Unknown
mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<System.__Canon>.Start<Microsoft.VisualStudio.Azure.SFApp.Shared.Build.ServiceProjectBuilder.<BuildAsync>d__9> Line 471 C#
Microsoft.VisualStudio.Azure.SFApp.Shared.dll!Microsoft.VisualStudio.Azure.SFApp.Shared.Build.ServiceProjectBuilder.BuildAsync Unknown
Microsoft.VisualStudio.Azure.SFApp.BuildTasks.dll!Microsoft.VisualStudio.Azure.SFApp.BuildTasks.BuildServiceProject.ExecuteAsync Unknown
mscorlib.dll!System.Runtime.CompilerServices.AsyncTaskMethodBuilder<bool>.Start<Microsoft.VisualStudio.Azure.SFApp.BuildTasks.BuildServiceProject.<ExecuteAsync>d__17> Line 471 C#
Microsoft.VisualStudio.Azure.SFApp.BuildTasks.dll!Microsoft.VisualStudio.Azure.SFApp.BuildTasks.BuildServiceProject.ExecuteAsync Unknown
Microsoft.VisualStudio.Azure.SFApp.BuildTasks.dll!Microsoft.VisualStudio.Azure.SFApp.BuildTasks.BuildTask.Execute Unknown
OK this is because the BinaryLogger by default creates a temporary file msbuild.ProjectImports.zip in the current directory (where msbuild was invoked from) and keeps it open for the duration of the build. Docker trying to access that and failing.
Workaround: msbuild /t:build /p:configuration=Release;platform="Any Cpu" /bl:C:\outsidelocation\msbuild.binlog
If you specify an absolute path for the .binlog that is outside docker's root directory, then the log will not interfere.
@sgreenmsft mentions that another workaround would be to add MSBuild.ProjectImports.zip
and msbuild.binlog
to .dockerignore
@KirillOsenkov thank you for your help, really appreciated! I’ll close this issue as it’s not a problem with Service Fabric Mesh.
Steps to reproduce:
todolistapp
msbuild /t:build /p:configuration=Release;platform="Any Cpu" /bl
This will give following errors:"C:\Users\mb\src\gh\service-fabric-mesh\src\todolistapp\todolistapp.sln" (build target) (1) -> "C:\Users\mb\src\gh\service-fabric-mesh\src\todolistapp\todolistapp\todolistapp.sfaproj" (default target) (2) -> "C:\Users\mb\src\gh\service-fabric-mesh\src\todolistapp\ToDoService\ToDoService.csproj" (SFAppBuildServiceProject target) (4) -> C:\Users\mb.nuget\packages\microsoft.visualstudio.azure.sfapp.targets\1.0.0-preview.4.4\build\Microsoft.VisualStudio.Azure.SFApp.Targets.targets(118,5): error S FA1003: Building dockerfile 'C:\Users\mb\src\gh\service-fabric-mesh\src\todolistapp\ToDoService\Dockerfile' failed. [C:\Users\mb\src\gh\service-fabric-mesh\src\tod olistapp\ToDoService\ToDoService.csproj]