-
Notifications
You must be signed in to change notification settings - Fork 4.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Issue running dotnet publish with --output property set #8194
Comments
@baronfel can you help with this one? |
Yes, this is intended and was implemented in dotnet/sdk#29065, but we haven't written the breaking change documentation for that. I'll make sure that happens tomorrow. Publish at the solution level isn't well defined because the project can and do overwrite each other. This has led to a number of issues from internal and external users around ordering. The workaround for users that did do this is to publish each relevant project individually, where the output path has clear semantics. |
We have the same issue. We have a pipeline that is suddenly failing. The difference is that it used the dotnet SDK 6.0.405 on the last successful build and with SDK 6.0.406 it fails. As this is a revision update I don't expect a behavior change that produces an error. I would be OK with a warning but not with an error. |
@baronfel just a comment from my side that now all pipelines built automatically by Azure Web Apps is failing. So Azure Portal can't create the right yml as well. So the problem is on SDK ground breaking changes and Azure Portal. |
dotnet pack command also affected with this change.
In the previous version it was possible to pack the projects of the solution into a folder. Also its valid syntax according to the cli documentation. |
I've added a breaking change notice for this change here, as well as updated the docs for the associated commands - I'll work with the docs team to get it merged ASAP today. |
Some follow up for those hitting this issue:
|
For pipelines, specifying the projects to publish seems to still be working with the output argument. |
I have encountered the same issue and it broke my pipelines in GitHub, for packing and publishing. Following the advices to the related issue #30624 I have made the following changes:
Such an unfortunate situation, that affected a lot of the pipelines, since I am publishing a lot of packages internally (client libraries to microservices) |
Why does a minor version change have a breaking change? |
@Pentadome the SDK doesn't have a SemVer contract - the final number (100, 101, 103) is called the 'feature band' and within that feature band things are generally expected to remain 100% compatible. Between feature bands we do introduce new features, warnings, analyzers, etc - this is how this change was introduced. We do try to limit the number of breaking changes, saving them for major versions, but when making this change we drastically under-counted the expected users that were using this mode. In next month's patch release of the 7.0.2xx feature band this will be downgraded to a warning only (because it is a problem from a build consistency/correctness perspective, and we have had many user-reported issues about it), which is what it should have been overall. You can read more about SDK versioning here. |
The task DotNetCoreCLI@2 is also not working because it depends on which version of MSBuild you have on your agent who works on the pipeline. |
If someone needs to fix that issue now, then:
|
@MiroslawSlanda I customized the installation path, so you don't need to remove dotnet from an agent.
|
Hello folks, wanted to give you all an update on the situation. Last night, 7.0.201 was released through all the various channels. It should already be available on GitHub Actions and AzDO runners, and of course for local installation. This hotfix contained the changes to the The other problem logged in this issue, MSBuild logging a prerelease version string, will be handled in the normal servicing schedule - likely with next month's expected release of 7.0.202. Thank you all for the feedback and discussion on this issue. |
This line code needs to be changed as follows:
to:
In order to publish an app using .net core, it seems we must set the target framework explicitly. |
This is what my old dotnet publish command looked like (.NET Core web app, 1 solution file, 1 project file)
This is what it looks like now (zero warnings or errors)
|
Is this a new change? I had a workflow that was working fine that broke without a change added in the last few days |
Description
Our pipeline on Azure running the DotNetCoreCLI@2 - .NET Core v2 task no longer seems to work because of the
--output
property set.This property is still outlined in the Microsoft documentation for the
dotnet publish
command https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-publish but we can no longer use it.Configuration
.NET version: 7.0.*
Previous working version
MSBuild version 17.4.1+9a89d02ff for .NET
Current version
MSBuild version 17.5.0-preview-23061-01+040e2a90e for .NET
At the moment we haven't found a way to limit the MSBuild version so we are unable to go back to the working version.
Error message
Other information
There seems to have been a bug about this in a previous version that was fixed but it may have regressed: dotnet/runtime#79330.
The text was updated successfully, but these errors were encountered: