Closed miketimofeev closed 1 year ago
Noob here, our yml config is already using vmImage: 'windows-latest'
but we're still seeing the error. What should we do?
@kningyi please remove everything below the
pool:
vmImage: 'windows-latest'
(name and demands) and you should be good to go
IMPORTANT NOTE FOR THOSE OF YOU STILL STRUGGLING WITH WIN2016 BROWNOUT NOTICE.
CHECK EVERYTHING!
NOT JUST YOUR PIPELINE CODE, CHECK PIPELINE TRIGGERS POOLS. CHECK RELEASES POOLS, CHECK ALL THE POOLS EVERYWHERE ON YOUR DEVOPS ACCOUNT. WHAT WILL HAPPEN IS YOU WILL EVENTUALLY FIND SOMETHING STILL SET TO USE WIN2016 POOL. ONCE YOU FIND ALL OF THEM YOUR ACCOUNT WILL NO LONGER GET THE BROWNOUT NOTICE EVEN DURING THE SCHEDULED TIMES. SO IF YOU ARE GETTING THE NOTICE ITS NOT YOUR WIN2017 POOL, OR WIN-LATEST IN THE YML, ITS SOMETHING ELSE,
AZURE NOTICES ARE DOING A TERRIBLE JOB ON THIS WITH THEIR WORDING AND WHERE THE NOTICE APPEARS. THE NOTICE MEANS YOUR AZURE DEVOPS ACCOUNT IS STILL USING WINDWOS POOL SOMEWHERE, YOU DID NOT CHECK EVEYWHERE.
I have a release pipeline (the one in the Releases tab) that gets triggered after a pipeline from the Pipelines Tab that I use for deployment to azure. This deployment keeps failing because of the 2016 error.
In the normal build pipeline I was able to set the vmImage but I don't see any way to access the yaml or change the image in the release pipeline edit page. How can this be done? I have tried searching this up plenty of times with no luck.
Edit: lol I can't believe that alluded me for so long. In case anyone else is looking. When you edit the release pipeline its under the tasks tab and then the category "run on agent". Looks like 2019 was recently made the default finally.
Noob here, our yml config is already using
vmImage: 'windows-latest'
but we're still seeing the error. What should we do?
As part of our ongoing efforts to keep GitHub and Azure Devops hosted runners updated and secure
Isn't Windows Server 2016 going to get security updates until 2027 and this "motivation" is simply misleading?
As discussed in #5238
During these "brownout" periods, customers will see an error message indicating that the image is slated for removal on June 30, 2022.
The brownout error message still says April 1 and points to an old ticket with out-of-date information.
We are having a pipeline which runs on 2016 Agent Specification. After changing the Agent Specification to 2019 or windows Latest we are getting below Error 2022-04-21T15:06:27.3818037Z Project file contains ToolsVersion="15.0". This toolset may be unknown or missing, in which case you may be able to resolve this by installing the appropriate version of MSBuild, or the build may have been forced to a particular ToolsVersion for policy reasons. Treating the project as if it had ToolsVersion="4.0". For more information, please see http://go.microsoft.com/fwlink/?LinkId=291333. error CS1519: Invalid token '(' in class, struct, or interface member declaration error CS1519: Invalid token '.' in class, struct, or interface member declaration
As part of our ongoing efforts to keep GitHub and Azure Devops hosted runners updated and secure
Isn't Windows Server 2016 going to get security updates until 2027 and this "motivation" is simply misleading?
I agree 100% with this. According to Microsoft's own documentation, Windows Server 2016 will continue to get security updates until Jan 12, 2027 when it will finally stop receiving it which would justify for Microsoft to remove support for it on pipelines or start these brownouts.
Noob here, our yml config is already using
vmImage: 'windows-latest'
but we're still seeing the error. What should we do?
@Ziya137200 @kningyi please remove the line (26) with the reference to pool 'Hosted VS2017'.
I keep getting this error in my release pipelines and cannot figure out where to go to fix it. I am not using YAML but CLI.
I get this message the whole day. Could you move your maintenance window out of work-hours next time? We'd appreciate it.
Additionally our systems are not using any windows-2016 related element, so the error itself makes no sense...
@mohitook if the systems don't use then you won't see the message. Maybe some of your jobs are using windows-2016 as it was the default image some time ago?
Hello. Is this affecting also self hosted runners ? It is not clear to me
@carvido1 no, it is not
@mohitook if the systems don't use then you won't see the message. Maybe some of your jobs are using windows-2016 as it was the default image some time ago?
Yep, for me it was a copy of an older pipeline. I thought the error was just for the pipeline being run, but it seems to be caused by any other 2016 agent setting you have.
Edit: Oh no, I still have the error. Must be another one ... Wish it listed them!
@mohitook if the systems don't use then you won't see the message. Maybe some of your jobs are using windows-2016 as it was the default image some time ago?
please how do i fix this
Hey there!, I was just hit by the brownout in a pipeline working flawlessly for years 😭. when running it on a 2022 image, I get an error. I'm not sure but, it seems that there are missing some UWP SDKs?
##[warning]C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\WindowsXaml\v17.0\8.2\Microsoft.Windows.UI.Xaml.Common.targets(676,5): Warning : Could not find target platform winmds for the SDK specified by [Windows, 10.0, UAP, 10.0.10240.0, 10.0.15063.0]
##[debug]Processed: ##vso[task.logissue type=Warning;sourcepath=C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\WindowsXaml\v17.0\8.2\Microsoft.Windows.UI.Xaml.Common.targets;linenumber=676;columnnumber=5;code=;]Could not find target platform winmds for the SDK specified by [Windows, 10.0, UAP, 10.0.10240.0, 10.0.15063.0]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\WindowsXaml\v17.0\8.2\Microsoft.Windows.UI.Xaml.Common.targets(676,5): warning : Could not find target platform winmds for the SDK specified by [Windows, 10.0, UAP, 10.0.10240.0, 10.0.15063.0]
[...]
##[error]MuralSketch.Core\Components\InkAnalyzerComponent\InkAnalyzerComponentModel.cs(7,31): Error CS0234: The type or namespace name 'Analysis' does not exist in the namespace 'Windows.UI.Input.Inking' (are you missing an assembly reference?)
I selected windows2022 instead of vs2017-win2016 then It fixed.
I made a post in stack where I explaned how I fixed this issue. If you're interested
https://stackoverflow.com/questions/71493785/error-deploying-release-pipeline-windows-2016-deprecated-azure-devops/72779265#72779265
Does this means after 30th June 2022 we wont be able to create VM even for window server sku- "2016-Datacenter-Server-Core" using images from Microsoft market place ? pls clarify. Thanks in advance. Kapil
Does this means after 30th June 2022 we wont be able to create VM even for window server sku- "2016-Datacenter-Server-Core" using images from Microsoft market place ? pls clarify. Thanks in advance. Kapil
These changes are not related to Azure, only to Hosted Agents.
is there a way to install missing UWP SDKs in newer images? or are te images going to be updated with the missing ones?
@megamingus what SDKs do you mean?
Hello, in our organization we still see jobs being run on Microsoft Hosted vs2017-win2016 Agents. I thought these would no longer be available as of 30 June? When can we expect these to be offline permanently?
@melchiorbc we are a bit delayed with some changes to default hosted images. Most likely the image will be fully deprecated in 1-2 weeks.
What other agent can build .NET Framework projects? I've tried windows-latest, windows-2022, and windows-2019 but the solution fails to build on all with an error about not being able to locate the .NET Framework assemblies.
@rushfrisby what error do you have? Windows-2019, for example, has a reduced set of installed .Net frameworks:
4.7.2 & 4.8
vs 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
on windows-2016
@miketimofeev
##[error]C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1221,5): Error MSB3644: The reference assemblies for .NETFramework,Version=v4.6.1 were not found. To resolve this, install the Developer Pack (SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework Developer Packs at https://aka.ms/msbuild/developerpacks
@rushfrisby, Could you bump .Net version to 4.6.2?
@rushfrisby I ran against this issue. 1) Try to point your project to .NET v4.8. 2) Re-publish now with the v4.8 project. (if it doesn't fix it, go to step 3). 3) In your .yaml pipeline check for the pool tag. and change the vmImage: 'windows-2016' to 'windows-2019' or 'windows-latest' 4) Re-run your pipeline.
Those were my steps to correct the issue.
EDIT: Okay, this comment can be disregarded. The problem was resolved for us. We resolved this by updating one of our native C/C++ dependencies. It builds and passes CI running on the new Windows image.
The new retirement date is set — July, 22
The retirement date is shifted to July, 31
LOL, can you guys please, please, please stop shifting the retirement date :) every time we need to tell our developers to stop using Win2016 as Agent type, and each time you guys postpone the deadline slowly people start using it again (I know their own fault), and we need to start warning them again, but we (and also Microsoft) are loosing our credibility on when they are actually decommissioned.
@melchiorbc sorry for the inconvenience, hopefully, this is the last one 🤞
Two more brownout dates are set:
Windows 2016 environment is finally deprecated in ADO.
I already updated the agent spec but still encountering the error of 2016 deprecation.
Windows 2016 hosted runners were scheduled for full removal on April 1, 2022. However, we are still seeing significant usage from customers and we want to give them more time to migrate to the new runners. In order to give customers another chance to move to either windows-2019 or windows-2022 we will delay the removal of windows-2016 until July 31, 2022.
same error. I use windows-2019
Windows 2016 environment is finally deprecated in ADO.
Hi Mike, are you sure of this? Up to today we still see jobs using the "vs2017-win2016" Microsoft Hosted Agent image.
@melchiorbc could you share a few links, please? I don't need access to pipelines, will take a look at telemetry by those urls
@miketimofeev I checked and I do see now the jobs trying to use 'vs2017-win2016' do get cancelled by Microsoft stating this is a deprecated environment, only people are still able to pick the 'vs2017-win2016' in their pipelines from the dropdown with VM types (which is confusing).
@melchiorbc this is fixed now, sorry for the inconvenience
Breaking changes
Windows 2016 hosted runners were scheduled for full removal on April 1, 2022. However, we are still seeing significant usage from customers and we want to give them more time to migrate to the new runners. In order to give customers another chance to move to either windows-2019 or windows-2022 we will delay the removal of windows-2016 until July 31, 2022.
To raise awareness of the removal, we will have rolling 24-hour periods where the image will be unavailable for customers. During these "brownout" periods, customers will see an error message indicating that the image is slated for removal on July 31, 2022. The schedule for those brownout periods is as follows for Azure DevOps:
See the original announcement at https://github.com/actions/virtual-environments/issues/4312
Target date
July 31, 2022
The motivation for the changes
Windows Server 2016 Active support ends on 11 Jan 2022 and Windows Server 2022 VM image is going out of beta later this year. As part of our ongoing efforts to keep GitHub and Azure Devops hosted runners updated and secure, the Windows 2016 virtual environment will be removed from GitHub Actions and Azure DevOps.
Possible impact
Workflows targeting the Windows 2016 image will fail.
Virtual environments affected
Mitigation ways
Change your workflows to use windows-latest, windows-2022, or windows-2019