Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
8b494aa
Add cswinrtwinmdgen and WinRT.Host.Shim to NuGet package
manodasanW May 2, 2026
ad4e140
Move WinRT.Host.Shim to hosting\net10.0\
manodasanW May 2, 2026
ed230ec
Remove dead CsWinRTRemoveHostingDllReferences target
manodasanW May 2, 2026
f29d76e
Add missing authoring targets to NuGet package
manodasanW May 2, 2026
1998bb6
Remove stale Embedded and IIDOptimizer targets
manodasanW May 2, 2026
2e96a3a
Auto-import Native.targets for vcxproj consumers
manodasanW May 3, 2026
5c9dddb
Fix NETSDK1130 in Native.targets aggregator project
manodasanW May 3, 2026
5c109f4
Import CsWinRT props/targets directly in aggregator csproj
manodasanW May 3, 2026
12375bb
Probe both package and source layouts for CsWinRT props/targets
manodasanW May 3, 2026
9953bd9
Mirror package layout (nuget\native) in source tree
manodasanW May 3, 2026
9c4514f
Import cswinrt targets after Sdk.targets in aggregator
manodasanW May 3, 2026
d5d9feb
Skip CopyEmbeddedSymbols when Pdb2Pdb package isn't resolved
manodasanW May 3, 2026
7086de1
Pin aggregator IntermediateOutputPath to the post-build Copy path
manodasanW May 3, 2026
20a756d
Reword IntermediateOutputPath comment to describe intent
manodasanW May 3, 2026
e38c4fb
Set aggregator IntermediateOutputPath as project-local property
manodasanW May 3, 2026
c48e6aa
Account for SDK TFM appending on aggregator IntermediateOutputPath
manodasanW May 3, 2026
14e4653
Replace temp-aggregator csproj with per-component MSBuild dispatch
manodasanW May 3, 2026
3e61840
Restore aggregator design with explicit component .dll references
manodasanW May 3, 2026
08486c2
Use Windows-targeted TFM for AuthoringTest; rely on SDK winmd handling
manodasanW May 3, 2026
3bf45d2
Scrub CsWinRT3 framework references in repo build
manodasanW May 3, 2026
c3675b2
Revert "Scrub CsWinRT3 framework references in repo build"
manodasanW May 3, 2026
b3d1846
Reapply "Scrub CsWinRT3 framework references in repo build"
manodasanW May 3, 2026
cbe5ad8
Exclude Microsoft.WindowsAppSDK.WinUI assets in AuthoringTest
manodasanW May 3, 2026
acccf83
Capture component winmds before SDK scrubs them from ProjectReferences
manodasanW May 3, 2026
7e2e354
Revert "Reapply "Scrub CsWinRT3 framework references in repo build""
manodasanW May 3, 2026
8eae4b2
Reapply "Reapply "Scrub CsWinRT3 framework references in repo build""
manodasanW May 3, 2026
07010bf
Revert "Reapply "Reapply "Scrub CsWinRT3 framework references in repo…
manodasanW May 3, 2026
77cdea0
Narrow Microsoft.WindowsAppSDK.WinUI ExcludeAssets to compile;runtime
manodasanW May 3, 2026
b7d2aee
Scrub CsWinRT3 SDK ref-package framework references in repo build
manodasanW May 3, 2026
7bb15f5
Propagate CsWinRTBuildForNativeConsumer to component ProjectReferences
manodasanW May 4, 2026
9ae425b
Disable per-component interop generation when propagating CsWinRTBuil…
manodasanW May 4, 2026
2cf1968
Emit TypeMapAssemblyTarget on component libraries
manodasanW May 4, 2026
cdfa093
Tidy comments on AuthoringTest ExcludeAssets and FrameworkReference r…
manodasanW May 4, 2026
2511958
Fix two issues uncovered by external NuGet consumer testing
manodasanW May 4, 2026
0439057
Hoist CsWinRTInteropMetadata default to top-level PropertyGroup
manodasanW May 4, 2026
dc49526
Gate merged-projection wireup on Exists() like the component target
manodasanW May 4, 2026
e7d7576
Wire WindowsSdkPackageVersion through to the synthesized aggregator c…
manodasanW May 4, 2026
1a87722
Restore the SDK ref-dll sanity check as a pure validation
manodasanW May 4, 2026
6243482
WinRT.Component.dll plays the entry-assembly + merged-activation role…
manodasanW May 4, 2026
153eb04
Fully qualify MemoryExtensions.AsSpan in merged managed exports
manodasanW May 4, 2026
58829f9
Revert WinRT.Component.dll-first attempt in GetActivationFactoryFromD…
manodasanW May 4, 2026
f048061
WinRT.Host: prefer WinRT.Component.dll for activation when present
manodasanW May 4, 2026
03b00ef
Only include WinRT.Projection in TypeMap union when it will be deployed
manodasanW May 4, 2026
0ace80a
Merged dispatcher: route by first-segment namespace before linear-wal…
manodasanW May 4, 2026
d7466c8
Fix CS1061 in merged dispatcher: qualify ReadOnlySpan<char>.IndexOf v…
manodasanW May 4, 2026
6860523
Merged dispatcher: dispatch by component (winmd) name as the unique n…
manodasanW May 4, 2026
95167f2
Revert namespace-prefix dispatch in merged activation factory
manodasanW May 4, 2026
c2d362d
Drop misleading 'legacy' wording from CsWinRTInteropMetadata comment
manodasanW May 4, 2026
157b930
Drop per-component ProjectionTypesInitializer; only WinRT.Component.d…
manodasanW May 5, 2026
a0a97c9
Restore original WindowsSdkProjectionModuleNotFound message from stag…
manodasanW May 5, 2026
f2266f4
Restore InteropGenerator.Emit.cs to staging/3.0 original
manodasanW May 5, 2026
da8e8b9
Rename auxiliary sources file to WinRTComponentSources; consolidate S…
manodasanW May 5, 2026
15515e3
Drop residual 'auxiliary' wording from ProjectionGenerator entrypoint
manodasanW May 5, 2026
e4ef25e
Consolidate StringBuilder usage in WinRTComponentSources
manodasanW May 5, 2026
df0d1ab
Remove unused processingState parameter from HasMergedProjectionRefer…
manodasanW May 5, 2026
8ffc2f8
Remove dead-code WriteNativeExports DllGetActivationFactory emission …
manodasanW May 6, 2026
bab1720
Native consumer aggregator improvements
manodasanW May 9, 2026
a873695
Use 10.0.0 RTM version in AuthoringConsumptionTest2 runtimeconfig
manodasanW May 9, 2026
7f9f1b1
Exercise merged TypeMap dedup in AuthoringConsumptionTest2
manodasanW May 9, 2026
6c26b3e
Set SimulateCsWinRTNugetReference=true on AuthoringTest2
manodasanW May 9, 2026
a935640
Run AuthoringConsumptionTest2 from build.cmd; align AuthoringTest2 props
manodasanW May 9, 2026
99e7fe1
Replace wrong-arch WinRT.Host.dll in vcxproj reference closure
manodasanW May 9, 2026
c3ca105
Trim test comments; reword opt-out property as opt-out
manodasanW May 9, 2026
4aedf3a
Make host dll arch correction conditional on something already copying
manodasanW May 9, 2026
6550824
Apply X86/X64 macro dance in AuthoringConsumptionTest2 pch.h
manodasanW May 9, 2026
780900f
Restore in-body gating of aggregator on _CsWinRTHasComponentReferences
manodasanW May 9, 2026
02e54c5
Skip Reference/ProjectReference lines when their item source is empty
manodasanW May 9, 2026
ad69028
AuthoringConsumptionTest2 Release|x64: AOT-merged native host
manodasanW May 9, 2026
d40bf02
Force AOT in CsWinRTLink, drop duplicate Compile, add x86 to test2
manodasanW May 10, 2026
892108e
Remove AuthoringConsumptionTest2.AOT.csproj from slnx default build
manodasanW May 10, 2026
804b6c1
Revert speculative AOT property forcing in CsWinRTLink
manodasanW May 10, 2026
cbe1ac7
AuthoringConsumptionTest2 Release|x64: PR components for build ordering
manodasanW May 10, 2026
f24d05d
Revert "AuthoringConsumptionTest2 Release|x64: PR components for buil…
manodasanW May 10, 2026
dffa78a
AuthoringConsumptionTest2 Release|x64: PR components with RID propaga…
manodasanW May 10, 2026
7bc8269
Simplify Release|x64 component PR comment
manodasanW May 10, 2026
4191b93
Restore AuthoringConsumptionTest2.AOT before Publish
manodasanW May 10, 2026
b39e699
Merge Restore;Publish into one MSBuild call
manodasanW May 10, 2026
3fce2af
Override AuthoringTest AOT props in .AOT csproj PR
manodasanW May 10, 2026
49f4422
Also pass WindowsAppSDKSelfContained=false on AuthoringTest PR
manodasanW May 10, 2026
fe1e128
Revert "Also pass WindowsAppSDKSelfContained=false on AuthoringTest PR"
manodasanW May 10, 2026
0ca4880
Drop OutputType=Library override; use WindowsAppSDKSelfContained=false
manodasanW May 10, 2026
9d7eac4
Gate AuthoringTest AOT publish block on opt-out property
manodasanW May 10, 2026
3c854f0
Pass PublishAot=true global on .AOT.csproj Restore;Publish
manodasanW May 10, 2026
523473e
UndefineProperties=PublishAot on .AOT csproj PRs
manodasanW May 10, 2026
4e66643
Move AuthoringConsumptionTest2.AOT.csproj back into slnx as a top-lev…
manodasanW May 10, 2026
211559d
Add explicit Platform=x64 mapping for .AOT.csproj in slnx
manodasanW May 10, 2026
73e1cd9
TreatAsLocalProperty _AuthoringTestSkipAotPublishConfig on AuthoringTest
manodasanW May 10, 2026
f083fa7
Revert "TreatAsLocalProperty _AuthoringTestSkipAotPublishConfig on Au…
manodasanW May 10, 2026
fb428a0
Exclude Microsoft.Web.WebView2 in .AOT.csproj closure
manodasanW May 10, 2026
3622ba0
Trim verbose comments in test project files
manodasanW May 10, 2026
85206d3
Trim version/PKT details from WebView2 exclusion comment
manodasanW May 10, 2026
07f71bb
DefaultTargets=Publish on .AOT.csproj so slnx Build runs AOT publish
manodasanW May 10, 2026
facf401
Chain Publish AfterTargets=Build on .AOT.csproj
manodasanW May 10, 2026
19ecd11
Revert "Chain Publish AfterTargets=Build on .AOT.csproj"
manodasanW May 10, 2026
e91c467
Add AuthoringTest3 and switch .AOT host to AuthoringTest2 + Authoring…
manodasanW May 10, 2026
4399e7d
Expose PublishAot as CompilerVisibleProperty unconditionally
manodasanW May 11, 2026
a243e46
Drop win-x64 subfolder from AuthoringTest2/Test3 winmd HintPath
manodasanW May 11, 2026
a1ad50e
Hook Publish onto Build for .AOT.csproj
manodasanW May 11, 2026
0c09554
Skip WinRT.Host.dll CopyTestAssets in Release|x64 (AOT scenario)
manodasanW May 11, 2026
0a5fa4c
Root WinRT.Component assembly to prevent trimmer drop
manodasanW May 11, 2026
7affc9d
Revert "Root WinRT.Component assembly to prevent trimmer drop"
manodasanW May 11, 2026
d1b614b
Fix TypeMapAssemblyTargetGenerator: don't emit WinRT.Projection targe…
manodasanW May 11, 2026
57c1515
Trim verbose comments in AuthoringConsumptionTest2.AOT.csproj
manodasanW May 11, 2026
b1234f7
Merge branch 'staging/3.0' into manodasanw/hostingNuget4
manodasanW May 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 10 additions & 2 deletions build/AzurePipelineTemplates/CsWinRT-Build-Steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -255,8 +255,6 @@ steps:
- task: CopyFiles@2
displayName: Stage WinRT.Host.Shim
condition: and(succeeded(), eq(variables['BuildPlatform'], 'x86'), eq(variables['BuildConfiguration'], 'release'))
enabled: false
continueOnError: True
inputs:
SourceFolder: $(Build.SourcesDirectory)\src\Authoring\WinRT.Host.Shim\bin\$(BuildConfiguration)\net10.0
Contents: |
Expand Down Expand Up @@ -295,6 +293,16 @@ steps:
cswinrtprojectiongen.pdb
TargetFolder: $(StagingFolder)\net10.0\native

- task: CopyFiles@2
displayName: Stage cswinrtwinmdgen
condition: and(succeeded(), or(eq(variables['BuildPlatform'], 'x64'), eq(variables['BuildPlatform'], 'arm64')), eq(variables['BuildConfiguration'], 'release'))
inputs:
SourceFolder: $(Build.SourcesDirectory)\src\WinRT.WinMD.Generator\bin\$(BuildConfiguration)\net10.0\win-$(BuildPlatform)\publish
Contents: |
cswinrtwinmdgen.exe
cswinrtwinmdgen.pdb
TargetFolder: $(StagingFolder)\net10.0\native

- task: CopyFiles@2
displayName: Stage WinRT.Generator.Tasks
condition: and(succeeded(), eq(variables['BuildPlatform'], 'x86'), eq(variables['BuildConfiguration'], 'release'))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,7 @@ jobs:
net10.0/native/cswinrtinteropgen.exe;
net10.0/native/cswinrtimplgen.exe;
net10.0/native/cswinrtprojectiongen.exe;
net10.0/native/cswinrtwinmdgen.exe;
search_root: $(StagingFolder)

- task: onebranch.pipeline.signing@1
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ steps:
command: pack
searchPatternPack: nuget/Microsoft.Windows.CsWinRT.nuspec
configurationToPack: Release
buildProperties: cswinrt_nuget_version=$(NugetVersion);cswinrt_exe=$(Build.SourcesDirectory)\release_x86\native\cswinrt.exe;interop_winmd=$(Build.SourcesDirectory)\release_x86\native\WindowsRuntime.Internal.winmd;net10_runtime=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.Runtime.dll;net10_runtime_xml=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.Runtime.xml;source_generator=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.SourceGenerator.dll;winrt_shim=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.Host.Shim.dll;winrt_host_x86=$(Build.SourcesDirectory)\release_x86\native\WinRT.Host.dll;winrt_host_x64=$(Build.SourcesDirectory)\release_x64\native\WinRT.Host.dll;winrt_host_arm64=$(Build.SourcesDirectory)\release_arm64\native\WinRT.Host.dll;winrt_host_resource_x86=$(Build.SourcesDirectory)\release_x86\native\WinRT.Host.dll.mui;winrt_host_resource_x64=$(Build.SourcesDirectory)\release_x64\native\WinRT.Host.dll.mui;winrt_host_resource_arm64=$(Build.SourcesDirectory)\release_arm64\native\WinRT.Host.dll.mui;cswinrtinteropgen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtinteropgen.exe;cswinrtinteropgen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtinteropgen.exe;cswinrtimplgen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtimplgen.exe;cswinrtimplgen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtimplgen.exe;cswinrtprojectiongen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtprojectiongen.exe;cswinrtprojectiongen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtprojectiongen.exe;run_cswinrt_generator_task=$(Build.SourcesDirectory)\release_x86\netstandard2.0\WinRT.Generator.Tasks.dll;branch=$(Build.SourceBranchName);commit=$(Build.SourceVersion)
buildProperties: cswinrt_nuget_version=$(NugetVersion);cswinrt_exe=$(Build.SourcesDirectory)\release_x86\native\cswinrt.exe;interop_winmd=$(Build.SourcesDirectory)\release_x86\native\WindowsRuntime.Internal.winmd;net10_runtime=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.Runtime.dll;net10_runtime_xml=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.Runtime.xml;source_generator=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.SourceGenerator.dll;winrt_shim=$(Build.SourcesDirectory)\release_x86\net10.0\WinRT.Host.Shim.dll;winrt_host_x86=$(Build.SourcesDirectory)\release_x86\native\WinRT.Host.dll;winrt_host_x64=$(Build.SourcesDirectory)\release_x64\native\WinRT.Host.dll;winrt_host_arm64=$(Build.SourcesDirectory)\release_arm64\native\WinRT.Host.dll;winrt_host_resource_x86=$(Build.SourcesDirectory)\release_x86\native\WinRT.Host.dll.mui;winrt_host_resource_x64=$(Build.SourcesDirectory)\release_x64\native\WinRT.Host.dll.mui;winrt_host_resource_arm64=$(Build.SourcesDirectory)\release_arm64\native\WinRT.Host.dll.mui;cswinrtinteropgen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtinteropgen.exe;cswinrtinteropgen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtinteropgen.exe;cswinrtimplgen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtimplgen.exe;cswinrtimplgen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtimplgen.exe;cswinrtprojectiongen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtprojectiongen.exe;cswinrtprojectiongen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtprojectiongen.exe;cswinrtwinmdgen_x64=$(Build.SourcesDirectory)\release_x64\net10.0\native\cswinrtwinmdgen.exe;cswinrtwinmdgen_arm64=$(Build.SourcesDirectory)\release_arm64\net10.0\native\cswinrtwinmdgen.exe;run_cswinrt_generator_task=$(Build.SourcesDirectory)\release_x86\netstandard2.0\WinRT.Generator.Tasks.dll;branch=$(Build.SourceBranchName);commit=$(Build.SourceVersion)
packDestination: $(ob_outputDirectory)\packages

- ${{ if eq(parameters.IsGitHub, false) }}:
Expand Down
12 changes: 12 additions & 0 deletions build/AzurePipelineTemplates/CsWinRT-Test-Steps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,18 @@ steps:
dir _build\$(BuildPlatform)\$(BuildConfiguration)\AuthoringConsumptionTest\bin
_build\$(BuildPlatform)\$(BuildConfiguration)\AuthoringConsumptionTest\bin\AuthoringConsumptionTest.exe --gtest_output=xml:AUTHORINGTEST-$(Build.BuildNumber).xml

# Run Multi-Component Authoring Consumption Tests
- task: CmdLine@2
displayName: Run Multi-Component Authoring Consumption Tests
enabled: true
condition: and(succeeded(), or(eq(variables['BuildPlatform'], 'x86'), eq(variables['BuildPlatform'], 'x64')))
continueOnError: True
inputs:
workingDirectory: $(Build.SourcesDirectory)\src
script: |
dir _build\$(BuildPlatform)\$(BuildConfiguration)\AuthoringConsumptionTest2\bin
_build\$(BuildPlatform)\$(BuildConfiguration)\AuthoringConsumptionTest2\bin\AuthoringConsumptionTest2.exe --gtest_output=xml:AUTHORINGTEST2-$(Build.BuildNumber).xml

# Run WUX Tests
- task: CmdLine@2
displayName: Run WUX Tests
Expand Down
7 changes: 5 additions & 2 deletions nuget/Microsoft.Windows.CsWinRT.Authoring.targets
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
-->
<ItemGroup Condition="'$(CsWinRTAotExportsEnabled)' != 'true'">

<None Condition="Exists('$(CsWinRTPath)lib\net10.0\WinRT.Host.Shim.dll')" Include="$(CsWinRTPath)lib\net10.0\WinRT.Host.Shim.dll">
<None Condition="Exists('$(CsWinRTPath)hosting\net10.0\WinRT.Host.Shim.dll')" Include="$(CsWinRTPath)hosting\net10.0\WinRT.Host.Shim.dll">
<TargetPath>WinRT.Host.Shim.dll</TargetPath>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
Expand Down Expand Up @@ -172,6 +172,9 @@ Copyright (C) Microsoft Corporation. All rights reserved.
<CsWinRTComponent>true</CsWinRTComponent>
<!-- Expose TFM so native consumers can generate a compatible temp project -->
<CsWinRTComponentTargetFramework>$(TargetFramework)</CsWinRTComponentTargetFramework>
<!-- Expose WindowsSdkPackageVersion so native consumers' synthesized aggregator
csproj resolves the same Microsoft.Windows.SDK.NET.Ref pack version. -->
<CsWinRTComponentWindowsSdkPackageVersion>$(WindowsSdkPackageVersion)</CsWinRTComponentWindowsSdkPackageVersion>
</TargetPathWithTargetPlatformMoniker>
</ItemGroup>

Expand Down Expand Up @@ -294,7 +297,7 @@ Copyright (C) Microsoft Corporation. All rights reserved.
-->
<ItemGroup Condition="'$(CsWinRTAotExportsEnabled)' != 'true'">

<Content Include="$(CsWinRTPath)lib\net10.0\WinRT.Host.Shim.dll">
<Content Include="$(CsWinRTPath)hosting\net10.0\WinRT.Host.Shim.dll">
<Pack>true</Pack>
<PackagePath>lib\$(TargetFramework)</PackagePath>
</Content>
Expand Down
5 changes: 3 additions & 2 deletions nuget/Microsoft.Windows.CsWinRT.CsWinRTGen.targets
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,9 @@ Copyright (C) Microsoft Corporation. All rights reserved.
StandardErrorImportance="$(CsWinRTGeneratorStandardErrorImportance)"
LogStandardErrorAsError="$(CsWinRTGeneratorLogStandardErrorAsError)" />

<!-- Set the metadata for the interop .dll item and add it to the required output groups -->
<ItemGroup Condition="'$(_HasMergedProjectionWinMDInputs)' == 'true'">
<!-- Only wire up the merged projection DLL if it was actually produced
(i.e. the generator found types to project). -->
<ItemGroup Condition="Exists('$(_CsWinRTGeneratorMergedProjectionAssemblyPath)')">
<CsWinRTGeneratorMergedProjectionPath Include="$(_CsWinRTGeneratorMergedProjectionAssemblyPath)">
<AssemblyName>WinRT.Projection</AssemblyName>
<TargetFrameworkIdentifier>.NETCoreApp</TargetFrameworkIdentifier>
Expand Down
76 changes: 0 additions & 76 deletions nuget/Microsoft.Windows.CsWinRT.Embedded.targets

This file was deleted.

88 changes: 0 additions & 88 deletions nuget/Microsoft.Windows.CsWinRT.IIDOptimizer.targets

This file was deleted.

Loading