dotnet / sdk

Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI
https://dot.net/core
MIT License
2.66k stars 1.06k forks source link

The "GenerateStaticWebAsssetsPropsFile" task failed unexpectedly #37456

Open travnick opened 9 months ago

travnick commented 9 months ago

Describe the bug

I'm receiving error MSB4018: The "GenerateStaticWebAsssetsPropsFile" task failed unexpectedly. while running a build of my mixed C++/.NET solution within docker image with BuildTools 17.4.5 Build log:

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018: The "GenerateStaticWebAsssetsPropsFile" task failed unexpectedly. [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018: System.IO.DirectoryNotFoundException: Could not find a part of the path 'C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\obj\Debug\net6.0\staticwebassets\msbuild.xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.Microsoft.AspNetCore.StaticWebAssets.props'. [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at System.IO.File.InternalWriteAllBytes(String path, Byte[] bytes, Boolean checkHost) [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at Microsoft.AspNetCore.Razor.Tasks.GenerateStaticWebAsssetsPropsFile.ExecuteCore() [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

C:\Program Files\dotnet\sdk\7.0.103\Sdks\Microsoft.NET.Sdk.Razor\targets\Microsoft.NET.Sdk.Razor.StaticWebAssets.Pack.targets(141,5): error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() [C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj]

The whole build succeeds on my local machine, where path to the project is like D:\xxxxxx\xxxxx\xxxx-xxxxx\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj instead of C:\atlassian-bitbucket-pipelines-runner\temp\00000000-0000-0000-0000-000000000000\0000000000000\build\xxxxxxxxx_xxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx\xxx_xxxxx_xxxxxxxxxxxxxxxxxxxx.csproj on CI

I see few explanations that this is the issue of having a long path. But please provide official details about affected versions/fixed versions/workaround.

https://github.com/andrewlock/asp-dot-net-core-in-action-3e#book-project-for-aspnet-core-in-action-third-edition https://stackoverflow.com/questions/74403186/the-generatestaticwebasssetspropsfile-task-failed-unexpectedly https://www.youtube.com/watch?v=GtqQn36onAg

To Reproduce

Exceptions (if any)

Further technical details

Runtime Environment: OS Name: Windows OS Version: 10.0.17763 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\7.0.103\

Host: Version: 7.0.3 Architecture: x64 Commit: 0a2bda10e8

.NET SDKs installed: 2.2.402 [C:\Program Files\dotnet\sdk] 3.1.302 [C:\Program Files\dotnet\sdk] 3.1.426 [C:\Program Files\dotnet\sdk] 6.0.309 [C:\Program Files\dotnet\sdk] 6.0.407 [C:\Program Files\dotnet\sdk] 7.0.103 [C:\Program Files\dotnet\sdk]

.NET runtimes installed: Microsoft.AspNetCore.All 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.All] Microsoft.AspNetCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 6.0.15 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 2.2.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 6.0.15 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.NETCore.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.1.6 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 3.1.32 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 6.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 6.0.15 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found: x86 [C:\Program Files (x86)\dotnet] registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables: Not set

global.json file: Not found

Learn more: https://aka.ms/dotnet/info

Download .NET: https://aka.ms/dotnet/download

dotnet-issue-labeler[bot] commented 9 months ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

nagilson commented 5 months ago

@rainersigwald @JeremyKuhne Do you have insights as to why this task is failing due to the long path?

rainersigwald commented 5 months ago

Does the docker image have the Windows long-path opt-in stuff set? Does the host machine?

travnick commented 5 months ago

I see it (HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem\LongPathsEnabled) for both host and the container disabled.