Skip to content

Commit d02d3db

Browse files
committed
Merge remote-tracking branch 'origin/main' into dev/jonp/jonp-try-ji-1323
2 parents a805f6d + b946ae1 commit d02d3db

File tree

116 files changed

+2598
-1402
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+2598
-1402
lines changed

.github/CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929

3030
/src/Mono.Android.Export @jonpryor
3131
/src/r8 @jonathanpeppers @jonpryor
32-
/src/Xamarin.Android.Build.Tasks @dellis1972 @jonathanpeppers
32+
/src/Xamarin.Android.Build.Tasks @jonathanpeppers
3333
/src/Xamarin.Android.Build.Tasks/Linker @jonpryor
3434
/src/Xamarin.Android.Build.Tasks/Utilities/LlvmIrGenerator @grendello
3535
/src/Xamarin.Android.Build.Tasks/Utilities/TypeMap* @grendello

.github/ISSUE_TEMPLATE/01-building-an-application.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: 🛠 Building an Application
22
description: Issues trying to compile or package your application.
33
labels: ["Area: App+Library Build", "needs-triage"]
4-
assignees: ["jonathanpeppers", "dellis1972"]
4+
assignees: ["jonathanpeppers"]
55
body:
66
- type: markdown
77
attributes:

.github/dependabot.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ updates:
1515
interval: "daily"
1616
ignore:
1717
- dependency-name: "external/constexpr-xxh3"
18-
- dependency-name: "external/debugger-libs"
1918
- dependency-name: "external/lz4"
2019
- dependency-name: "external/robin-map"
2120
- dependency-name: "external/xxHash"

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,9 @@ Novell
3131
*.patch
3232
*.keystore
3333
/omnisharp.json
34+
src/native/CMakePresets.json
35+
src/native/clr/host/generate-pinvoke-tables
36+
src/native/clr/host/pinvoke-tables.include.generated
37+
src/native/mono/pinvoke-override/generate-pinvoke-tables
38+
src/native/mono/pinvoke-override/pinvoke-tables.include.generated
39+
dotnet-install.ps1

Configuration.props

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@
132132
<TestsFlavor>$(_TestsProfiledAotName)$(_TestsAotName)</TestsFlavor>
133133
</PropertyGroup>
134134
<PropertyGroup>
135+
<!-- Default to Java 17 for desktop, projects targeting Android should use 1.8 -->
135136
<JavacSourceVersion>17</JavacSourceVersion>
136137
<JavacTargetVersion>17</JavacTargetVersion>
137138
</PropertyGroup>
@@ -227,6 +228,10 @@
227228
AndroidRuntime="CoreCLR" />
228229
</ItemGroup>
229230

231+
<PropertyGroup>
232+
<_RuntimeRedistDirName>redist</_RuntimeRedistDirName>
233+
</PropertyGroup>
234+
230235
<!-- Whenever there's a need to use a locally built CoreCLR, both .NET for Android and the
231236
application(s) must be built with the same runtime. CLRLocalRuntimePath must point to the CoreCLR
232237
artifact directory in its repository checkout:

Directory.Build.props

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
* Bump first digit of the patch version for feature releases (and reset the first two digits to 0)
3737
-->
3838
<AndroidPackVersion>36.0.0</AndroidPackVersion>
39-
<AndroidPackVersionSuffix>preview.4</AndroidPackVersionSuffix>
39+
<AndroidPackVersionSuffix>preview.5</AndroidPackVersionSuffix>
4040
<!-- Final value set by GetXAVersionInfo target -->
4141
<IsStableBuild>false</IsStableBuild>
4242
</PropertyGroup>
@@ -64,8 +64,6 @@
6464
6565
This can be opted into locally with $(_AndroidTreatWarningsAsErrors) = true.
6666
-->
67-
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'assembly-store-reader.csproj' ">true</_AllowProjectWarnings>
68-
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'decompress-assemblies.csproj' ">true</_AllowProjectWarnings>
6967
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'jnienv-gen.csproj' ">true</_AllowProjectWarnings>
7068
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'Microsoft.Android.Sdk.ILLink.csproj' ">true</_AllowProjectWarnings>
7169
<_AllowProjectWarnings Condition=" '$(MSBuildProjectFile)' == 'Microsoft.Android.Templates.csproj' ">true</_AllowProjectWarnings>

Documentation/guides/tracing.md

Lines changed: 59 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ together to make this happen:
2222
* The Mono Diagnostic component, `libmono-component-diagnostics_tracing.so`,
2323
is included in the application and is used to collect the trace data.
2424

25+
> **NOTE:** You need at least version 9.0.621003 of all the diagnostic
26+
> tools to use the features described in this guide. Check
27+
> [dotnet-trace](https://www.nuget.org/packages/dotnet-trace/),
28+
> [dotnet-dsrouter](https://www.nuget.org/packages/dotnet-dsrouter/),
29+
> and [dotnet-gcdump](https://www.nuget.org/packages/dotnet-gcdump/)
30+
> on NuGet for the latest versions.
31+
2532
See the [`dotnet-trace` documentation][dotnet-trace] for further details about its usage.
2633

2734
[dotnet-trace]: https://learn.microsoft.com/dotnet/core/diagnostics/dotnet-trace
@@ -48,14 +55,61 @@ You can also install prerelease builds from the nightly feed
4855
`https://aka.ms/dotnet-tools/index.json`:
4956

5057
```sh
51-
$ dotnet tool install -g dotnet-dsrouter --add-source=https://aka.ms/dotnet-tools/index.json --prerelease
52-
You can invoke the tool using the following command: dotnet-dsrouter
53-
Tool 'dotnet-dsrouter' was successfully installed.
58+
$ dotnet tool install -g dotnet-trace --add-source=https://aka.ms/dotnet-tools/index.json --prerelease
59+
You can invoke the tool using the following command: dotnet-trace
60+
Tool 'dotnet-trace' was successfully installed.
5461
```
5562

5663
## Configuration & Setup
5764

58-
### Running `dotnet-dsrouter` on the Host
65+
### Using `dotnet-trace` with the `--dsrouter` option
66+
67+
Starting with version 9.0.621003, `dotnet-trace` includes a
68+
`--dsrouter` option that eliminates the need to run `dotnet-dsrouter`
69+
separately. This simplifies the workflow significantly.
70+
71+
For Android emulators:
72+
73+
```sh
74+
$ dotnet-trace collect --dsrouter android-emu --format speedscope
75+
WARNING: dotnet-dsrouter is a development tool not intended for production environments.
76+
For finer control over the dotnet-dsrouter options, run it separately and connect to it using -p
77+
78+
No profile or providers specified, defaulting to trace profile 'cpu-sampling'
79+
80+
Provider Name Keywords Level Enabled By
81+
Microsoft-DotNETCore-SampleProfiler 0x0000F00000000000 Informational(4) --profile
82+
Microsoft-Windows-DotNETRuntime 0x00000014C14FCCBD Informational(4) --profile
83+
```
84+
85+
For Android devices:
86+
87+
```sh
88+
# `adb reverse` is still required when using hardware devices
89+
$ adb reverse tcp:9000 tcp:9001
90+
$ dotnet-trace collect --dsrouter android --format speedscope
91+
WARNING: dotnet-dsrouter is a development tool not intended for production environments.
92+
For finer control over the dotnet-dsrouter options, run it separately and connect to it using -p
93+
94+
No profile or providers specified, defaulting to trace profile 'cpu-sampling'
95+
96+
Provider Name Keywords Level Enabled By
97+
Microsoft-DotNETCore-SampleProfiler 0x0000F00000000000 Informational(4) --profile
98+
Microsoft-Windows-DotNETRuntime 0x00000014C14FCCBD Informational(4) --profile
99+
```
100+
101+
The `--format` argument is optional and it defaults to `nettrace`.
102+
However, `nettrace` files can be viewed only with Perfview or Visual
103+
Studio on Windows, while the speedscope JSON files can be viewed "on"
104+
Unix by opening them with [https://speedscope.app/][speedscope].
105+
106+
[speedscope]: https://speedscope.app/
107+
108+
### Running `dotnet-dsrouter` Separately
109+
110+
> **NOTE:** The following section describes the approach before
111+
> `dotnet-trace` 9.0.621003. Running `dotnet-dsrouter` separately can
112+
> be useful for viewing its log messages when troubleshooting.
59113
60114
For profiling an Android application running on an Android *emulator*:
61115

@@ -157,9 +211,7 @@ Start an application with the following environment variable: DOTNET_DiagnosticP
157211
The `--format` argument is optional and it defaults to `nettrace`.
158212
However, `nettrace` files can be viewed only with Perfview or Visual
159213
Studio on Windows, while the speedscope JSON files can be viewed "on"
160-
Unix by uploading them to [https://speedscope.app/][speedscope].
161-
162-
[speedscope]: https://speedscope.app/
214+
Unix by opening them with [https://speedscope.app/][speedscope].
163215

164216
### Running the .NET for Android Application
165217

NuGet.config

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,6 @@
44
<clear />
55
<!--Begin: Package sources managed by Dependency Flow automation. Do not edit the sources below.-->
66
<!-- Begin: Package sources from dotnet-android -->
7-
<add key="darc-pub-dotnet-android-e7876a4" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-e7876a4f/nuget/v3/index.json" />
8-
<add key="darc-pub-dotnet-android-82d8938" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-android-82d8938c/nuget/v3/index.json" />
97
<!-- End: Package sources from dotnet-android -->
108
<!--End: Package sources managed by Dependency Flow automation. Do not edit the sources above.-->
119
<!-- ensure only the sources defined below are used -->
@@ -20,9 +18,11 @@
2018
<!-- This is needed (currently) for the Xamarin.Android.Deploy.Installer dependency, getting the installer -->
2119
<!-- Android binary, to support delta APK install -->
2220
<add key="xamarin.android util" value="https://pkgs.dev.azure.com/xamarin/public/_packaging/Xamarin.Android/nuget/v3/index.json" />
23-
<!-- Added manually for dotnet/runtime 8.0.11 -->
24-
<add key="darc-pub-dotnet-emsdk-91b783e" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-91b783ed/nuget/v3/index.json" />
25-
<add key="darc-pub-dotnet-runtime-ef07c4f" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-ef07c4f2/nuget/v3/index.json" />
21+
<!-- Added manually for dotnet/runtime 9.0.5 -->
22+
<add key="darc-pub-dotnet-emsdk-3cddc1f" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-emsdk-3cddc1fe/nuget/v3/index.json" />
23+
<add key="darc-pub-dotnet-runtime-207cda3" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-207cda34/nuget/v3/index.json" />
24+
<!-- Added manually for dotnet/runtime 8.0.16 -->
25+
<add key="darc-pub-dotnet-runtime-6cd8ef8" value="https://pkgs.dev.azure.com/dnceng/public/_packaging/darc-pub-dotnet-runtime-6cd8ef87/nuget/v3/index.json" />
2626
</packageSources>
2727
<disabledPackageSources />
2828
</configuration>

build-tools/automation/azure-pipelines-nightly.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ stages:
115115
avdAbi: x86_64
116116
avdType: google_apis
117117
pool:
118-
vmImage: $(HostedMacImage)
118+
vmImage: $(HostedMacImageWithEmulator)
119119
workspace:
120120
clean: all
121121
steps:

build-tools/automation/azure-pipelines.yaml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,8 @@ extends:
137137
parameters:
138138
xaSourcePath: $(Build.SourcesDirectory)/android
139139
androidSdkPlatforms: $(DefaultTestSdkPlatforms)
140-
dotnetVersion: 9.0
141-
dotnetQuality: preview
140+
dotnetVersion: $(DotNetPreviewSdkVersion)
141+
dotnetQuality: $(DotNetPreviewSdkQuality)
142142

143143
- task: NuGetAuthenticate@1
144144
displayName: authenticate with azure artifacts
@@ -230,6 +230,7 @@ extends:
230230
condition: always()
231231
inputs:
232232
Contents: |
233+
$(Build.SourcesDirectory)/android/bin/*$(XA.Build.Configuration)/*.*log
233234
$(Build.SourcesDirectory)/maui/artifacts/logs/**
234235
TargetFolder: $(Build.StagingDirectory)/logs
235236
flattenFolders: true
@@ -346,11 +347,10 @@ extends:
346347
clean: true
347348
submodules: recursive
348349

349-
- task: UseDotNet@2
350-
displayName: Install .NET 9.x
351-
inputs:
352-
version: 9.x
353-
includePreviewVersions: true
350+
- template: /build-tools/automation/yaml-templates/use-dot-net.yaml@self
351+
parameters:
352+
version: $(DotNetPreviewSdkVersion)
353+
quality: $(DotNetPreviewSdkQuality)
354354

355355
# Download symbols to be published to the symbols artifact drop declared above
356356
- task: DownloadPipelineArtifact@2

build-tools/automation/yaml-templates/commercial-build.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ steps:
9292
- task: PublishPipelineArtifact@1
9393
displayName: upload symbols nupkgs
9494
inputs:
95-
artifactName: ${{ parameters.nugetArtifactName }}
95+
artifactName: ${{ parameters.nugetArtifactName }}-symbols
9696
targetPath: ${{ parameters.xaSourcePath }}/bin/Build$(XA.Build.Configuration)/nuget-unsigned-symbols
9797

9898
- task: PublishPipelineArtifact@1

build-tools/automation/yaml-templates/fail-on-dirty-tree.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ steps:
99
# Run this to log the output for the user
1010
git status
1111
12-
# Run this to error the build if untracked files
13-
$process= git status --porcelain --untracked-files=no
12+
# Run this to error the build if modified/untracked files exist
13+
$process= git status --porcelain
1414
1515
if ($process)
1616
{
17-
Write-Host "##vso[task.logissue type=error]git tree has modified tracked files."
17+
Write-Host "##vso[task.logissue type=error]git tree has modified or untracked files."
1818
Write-Host "##vso[task.complete result=Failed;]"
1919
}
20-
displayName: Ensure no modified committed files
20+
displayName: Ensure no modified/untracked files
2121
workingDirectory: ${{ parameters.xaSourcePath }}
2222
condition: ${{ parameters.condition }}

build-tools/automation/yaml-templates/setup-test-environment.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ steps:
7575
- template: /build-tools/automation/yaml-templates/run-dotnet-preview.yaml
7676
parameters:
7777
displayName: extract workload packs
78+
xaSourcePath: ${{ parameters.xaSourcePath }}
7879
project: ${{ parameters.xaSourcePath }}/build-tools/create-packs/Microsoft.Android.Sdk.proj
7980
arguments: -t:ExtractWorkloadPacks -c ${{ parameters.configuration }} -v:n -bl:${{ parameters.xaSourcePath }}/bin/Test${{ parameters.configuration }}/extract-workloads.binlog
8081

build-tools/automation/yaml-templates/stage-package-tests.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,26 @@ stages:
198198
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
199199
artifactFolder: $(DotNetTargetFramework)-AotLlvm
200200

201+
- template: /build-tools/automation/yaml-templates/apk-instrumentation.yaml
202+
parameters:
203+
configuration: $(XA.Build.Configuration)
204+
testName: Mono.Android.NET_Tests-CoreCLR
205+
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
206+
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)CoreCLR.xml
207+
extraBuildArgs: -p:TestsFlavor=CoreCLR -p:UseMonoRuntime=false -p:AndroidEnableMarshalMethods=false
208+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
209+
artifactFolder: $(DotNetTargetFramework)-CoreCLR
210+
211+
- template: /build-tools/automation/yaml-templates/apk-instrumentation.yaml
212+
parameters:
213+
configuration: $(XA.Build.Configuration)
214+
testName: Mono.Android.NET_Tests-NativeAOT
215+
project: tests/Mono.Android-Tests/Mono.Android-Tests/Mono.Android.NET-Tests.csproj
216+
testResultsFiles: TestResult-Mono.Android.NET_Tests-$(XA.Build.Configuration)NativeAOT.xml
217+
extraBuildArgs: -p:TestsFlavor=NativeAOT -p:PublishAot=true
218+
artifactSource: bin/Test$(XA.Build.Configuration)/$(DotNetTargetFramework)-android/Mono.Android.NET_Tests-Signed.aab
219+
artifactFolder: $(DotNetTargetFramework)-NativeAOT
220+
201221
- template: /build-tools/automation/yaml-templates/apk-instrumentation.yaml
202222
parameters:
203223
configuration: $(XA.Build.Configuration)

build-tools/automation/yaml-templates/start-stop-emulator.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ steps:
1818
displayName: Start emulator
1919
continueOnError: ${{ parameters.startContinueOnError }}
2020
taskTimeoutInMinutes: ${{ parameters.taskTimeoutInMinutes }}
21+
xaSourcePath: ${{ parameters.xaSourcePath }}
2122
project: ${{ parameters.xaSourcePath }}/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Emulator.csproj
2223
${{ if eq(parameters.specificImage, true) }}:
2324
arguments: >-
@@ -43,6 +44,7 @@ steps:
4344
condition: always()
4445
continueOnError: true
4546
taskTimeoutInMinutes: ${{ parameters.taskTimeoutInMinutes }}
47+
xaSourcePath: ${{ parameters.xaSourcePath }}
4648
project: ${{ parameters.xaSourcePath }}/src/Xamarin.Android.Build.Tasks/Tests/Xamarin.Android.Build.Tests/Emulator.csproj
4749
${{ if eq(parameters.specificImage, true) }}:
4850
arguments: >-

build-tools/automation/yaml-templates/variables.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,10 @@ variables:
2727
value: 9.0
2828
- name: DotNetSdkQuality
2929
value: GA
30+
- name: DotNetPreviewSdkVersion
31+
value: 10.0
32+
- name: DotNetPreviewSdkQuality
33+
value: preview
3034
- name: GitHub.Token
3135
value: $(github--pat--vs-mobiletools-engineering-service2)
3236
- name: HostedMacImage
@@ -36,7 +40,7 @@ variables:
3640
- name: SharedMacPool
3741
value: VSEng-VSMac-Xamarin-Shared
3842
- name: SharedMacName
39-
value: Sonoma
43+
value: Sequoia
4044
- name: SharedMacArch
4145
value: arm64
4246
- name: HostedWinImage

build-tools/create-packs/ConfigureLocalWorkload.targets

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,16 @@
1616
<_RuntimeListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.%(AndroidAbiAndRuntimeFlavor.AndroidRuntime).$(AndroidDefaultTargetDotnetApiLevel).%(AndroidAbiAndRuntimeFlavor.AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml" AndroidRID="%(AndroidAbiAndRuntimeFlavor.AndroidRID)" AndroidRuntime="%(AndroidAbiAndRuntimeFlavor.AndroidRuntime)" />
1717
<_RuntimeListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.%(AndroidAbiAndRuntimeFlavor.AndroidRuntime).$(AndroidLatestStableApiLevel).%(AndroidAbiAndRuntimeFlavor.AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml" AndroidRID="%(AndroidAbiAndRuntimeFlavor.AndroidRID)" AndroidRuntime="%(AndroidAbiAndRuntimeFlavor.AndroidRuntime)" />
1818
<_RuntimeListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.%(AndroidAbiAndRuntimeFlavor.AndroidRuntime).$(AndroidLatestUnstableApiLevel).%(AndroidAbiAndRuntimeFlavor.AndroidRID)\$(AndroidPackVersion)\data\RuntimeList.xml" AndroidRID="%(AndroidAbiAndRuntimeFlavor.AndroidRID)" AndroidRuntime="%(AndroidAbiAndRuntimeFlavor.AndroidRuntime)" />
19+
<_ManagedRuntimeListOutputs Include="$(BuildOutputDirectory)lib\packs\Microsoft.Android.Runtime.$(AndroidApiLevel).android\$(AndroidPackVersion)\data\RuntimeList.xml" />
1920
</ItemGroup>
2021
</Target>
2122

2223
<Target Name="CreateLocalRuntimeLists"
2324
DependsOnTargets="_CreateLocalRuntimeListsInputs"
2425
Inputs="$(MSBuildAllProjects);@(_RuntimeListInputs)"
25-
Outputs="@(_RuntimeListOutputs)">
26+
Outputs="@(_RuntimeListOutputs);@(_ManagedRuntimeListOutputs)">
2627
<Exec Command="&quot;$(DotNetPreviewTool)&quot; build -t:_GenerateFrameworkList -p:IntermediateOutputPath=%(_RuntimeListOutputs.RelativeDir) -p:AndroidRID=%(_RuntimeListOutputs.AndroidRID) -p:AndroidRuntime=%(_RuntimeListOutputs.AndroidRuntime) -p:Configuration=$(Configuration) &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.proj&quot;" />
28+
<Exec Command="&quot;$(DotNetPreviewTool)&quot; build -t:_GenerateFrameworkList -p:IntermediateOutputPath=%(_ManagedRuntimeListOutputs.RelativeDir) -p:Configuration=$(Configuration) &quot;$(MSBuildThisFileDirectory)Microsoft.Android.Runtime.Managed.proj&quot;" />
2729
</Target>
2830

2931
<Target Name="CreateLocalFrameworkLists"

0 commit comments

Comments
 (0)