Explicitly run first-time experience
See original GitHub issueHi,
I’m automating the creation of virtual machines that will be used as build servers.
After installing the .NET Core SDK through the Visual Studio 2017 Installer, the first-time experience does not appear to be run. Thus, on the first build that happens on that server, that build includes the first-run experience.
Since my build process attempts to build multiple projects in parallel, various instances of dotnet
choke over the first-use sentinel when attempting concurrent writes:
Welcome to .NET Core!
---------------------
Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs.
Telemetry
--------------
The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include command-line arguments. The data is collected by Microsoft and shared with the community.
You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell.
You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry.
My.DotNet.Project.dll (net47) ExitCode = 1
System.IO.IOException: The process cannot access the file 'C:\Users\BuildServerUser\.dotnet\2.1.104.dotnetFirstUseSentinel' because it is being used by another process.
at System.IO.FileStream.OpenHandle(FileMode mode, FileShare share, FileOptions options)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options)
at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize)
at System.IO.File.Create(String path)
at Microsoft.Extensions.EnvironmentAbstractions.FileWrapper.CreateEmptyFile(String path)
at Microsoft.DotNet.Configurer.FirstTimeUseNoticeSentinel.CreateIfNotExists()
at Microsoft.DotNet.Configurer.DotnetFirstTimeUseConfigurer.PrintFirstTimeUseNotice()
at Microsoft.DotNet.Configurer.DotnetFirstTimeUseConfigurer.Configure()
at Microsoft.DotNet.Cli.Program.ConfigureDotNetForFirstTimeUse(INuGetCacheSentinel nugetCacheSentinel, IFirstTimeUseNoticeSentinel firstTimeUseNoticeSentinel, CliFallbackFolderPathCalculator cliFallbackFolderPathCalculator)
at Microsoft.DotNet.Cli.Program.ProcessArgs(String[] args, ITelemetry telemetryClient)
at Microsoft.DotNet.Cli.Program.Main(String[] args)
Is there a sensible way to kick off this process automatically at the time that the VM is created, rather than at the time of the first build? I’d rather do it eagerly than lazily.
Thanks.
Issue Analytics
- State:
- Created 5 years ago
- Comments:9 (5 by maintainers)
Top Results From Across the Web
Execute the setInterval function without delay the first time
It's simplest to just call the function yourself directly the first time: foo(); setInterval(foo, delay);. However there are good reasons to ...
Read more >NET SDK and .NET CLI telemetry
This "first run" experience is how Microsoft notifies you about data collection.
Read more >Onboarding - Material Design
Design onboarding that connects to a first-run experience. The UI seen after onboarding should make it easy for users to act on what...
Read more >The 10 best user onboarding examples to learn from
A great user onboarding experience shortens your new users' time to value, ... Checklists provide an explicit list of tasks for the user...
Read more >Notification runtime permission
Android 13 (API level 33) and higher supports a runtime permission for sending non-exempt (including Foreground Services (FGS)) notifications from an app: ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Seems like this is a dupe of dotnet/sdk#7293.
Agreed.