Nóta
Aðgangur að þessari síðu krefst heimildar. Þú getur prófað aðskrá þig inn eða breyta skráasöfnum.
Aðgangur að þessari síðu krefst heimildar. Þú getur prófað að breyta skráasöfnum.
.NET SDK 8.0.200 introduced a regression in the new -getItem, -getProperty, and -getTargetResult MSBuild CLI options. When the SDK is used to perform an MSBuild operation for a specific TargetFramework, the output is duplicated, like so:
> dotnet build -r:android-arm64 --getProperty:OutputPath -f:net8.0-android
bin\Debug/net8.0-android/android-arm64/
bin\Debug/net8.0-android/android-arm64/
Note
We intend to fix this behavior in an upcoming release of the .NET 8.0.200 SDK.
Version introduced
.NET 8.0.200
Previous behavior
> dotnet build -r:android-arm64 --getProperty:OutputPath -f:net8.0-android
bin\Debug/net8.0-android/android-arm64/
New behavior
Building, loading, or running an affected project fails.
Type of breaking change
This is a behavioral change that can impact user scripts, especially in CI/CD scenarios.
Reason for change
These options are intended to return values computed from a single user-requested build. However, SDK-initiated MSBuild operations like build and publish can sometimes trigger a second call to MSBuild—particularly when the -f option is used to specify that a build should occur for a specific TargetFramework. In that scenario, -getItem, -getProperty, and -getTargetResult options were passed to both MSBuild invocations, instead of only the one that a user expected to be triggered.
Recommended action
Choose one of the following actions:
- Use an older version of the .NET SDK (before the regression was introduced).
- Use a version of the .NET 8 SDK that contains the fix, which should be any version after 8.0.202.
- Remove any usage of
-ffrom calls that also use-getItem,-getProperty, or-getTargetResults.