-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
Telemetry target fails in rc1 #90584
Comments
Tagging subscribers to this area: @dotnet/area-system-io Issue DetailsDescriptionBuild failure:
Binlog: Reproduction StepsThis seems to happen when doing I'm guessing the reason is that the outer build doesn't do what normal builds do, and the Lines 41 to 42 in 1eb702c
thus MSBuild failing to find the method "System.IO.Path.GetFileName()" (the method with 0 arguments). Expected behaviorSuccessful build. Actual behaviorBroken build. Regression?Yes. Known WorkaroundsNo response ConfigurationThis happens in our latest dotnet/installer bump: xamarin/xamarin-macios#18607. Other informationI'm guess the fix would be to quote the arguments to GetFileName: <_WorkloadUsesOther Condition="'$([System.IO.Path]::GetFileName('%(ReferencePath.Identity')).ToLower())' == 'avalonia.dll'">true</_WorkloadUsesOther>
<_WorkloadUsesOther Condition="'$([System.IO.Path]::GetFileName('%(ReferencePath.Identity')).ToLower())' == 'uno.dll'">true</_WorkloadUsesOther> So that the method resolution to System.IO.Path.GetFileName looks for the method with a single string parameter, even if %(ReferencePath.Identity) is empty. (that probably doesn't work as-is, because the new quotes would have to be escaped somehow).
|
CC @steveisok |
They're broken due to dotnet/runtime#90584.
There are cases where `%(ReferencePath)` is empty, so prevent exceptions by quoting the value. Fixes dotnet#90584
There are cases where `%(ReferencePath)` is empty, so prevent exceptions by quoting the value. Fixes #90584
… collecting telemetry (#90606) * [workloads] Put quotes around GetFileName call when collecting telemetry There are cases where `%(ReferencePath)` is empty, so prevent exceptions by quoting the value. Fixes #90584 * Feedback --------- Co-authored-by: Steve Pfister <steve.pfister@microsoft.com> Co-authored-by: Steve Pfister <steveisok@users.noreply.github.com>
Description
Build failure:
Binlog:
log-publish-20230815_052259.binlog.zip
Reproduction Steps
This seems to happen when doing
dotnet publish
for universal macOS and Mac Catalyst projects.I'm guessing the reason is that the outer build doesn't do what normal builds do, and the
ReferencePath
item group is empty:runtime/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadTelemetry.targets
Lines 41 to 42 in 1eb702c
thus MSBuild failing to find the method "System.IO.Path.GetFileName()" (the method with 0 arguments).
Expected behavior
Successful build.
Actual behavior
Broken build.
Regression?
Yes.
Known Workarounds
No response
Configuration
This happens in our latest dotnet/installer bump: xamarin/xamarin-macios#18607.
Other information
I'm guess the fix would be to quote the arguments to GetFileName:
So that the method resolution to System.IO.Path.GetFileName looks for the method with a single string parameter, even if %(ReferencePath.Identity) is empty.
(that probably doesn't work as-is, because the new quotes would have to be escaped somehow).
This was probably introduced in #90208.
The text was updated successfully, but these errors were encountered: