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
vcmeta.dll
and incremental builds in .NET MAUI projects
#3128
Comments
Is it possible to add the (hopefully) few bits to the https://www.nuget.org/packages/Microsoft.Windows.SDK.BuildTools NuGet so BuildTools is great because it allows for a much smaller dev install and also removes the requirement of VS to build on CI. |
I see in the WASDK targets <Target Name="GetVCInstallPath" Condition="'$(VCInstallPath32)' == '' and '$(VCInstallPath64)' == ''">
<GetLatestMSVCVersion MSVCDirectoryPath="$(VsInstallRoot)\VC\Tools\MSVC" Condition="'$(VCToolsInstallDir)' == '' and '$(VsInstallRoot)' != ''">
<Output TaskParameter="LatestMSVCVersion" PropertyName="LatestMSVCVersion"/>
</GetLatestMSVCVersion>
<PropertyGroup Condition="'$(VCToolsInstallDir)' == '' and '$(VsInstallRoot)' != ''">
<VCToolsInstallDir Condition="'$(VCToolsInstallDir)' == ''">$(VsInstallRoot)\VC\Tools\MSVC\$(LatestMSVCVersion)\</VCToolsInstallDir>
</PropertyGroup>
<PropertyGroup Condition="'$(VCToolsInstallDir)' != ''">
<_VCInstallPathHostArchitecture Condition="'$(PROCESSOR_ARCHITECTURE)' == 'x86'">X86</_VCInstallPathHostArchitecture>
<_VCInstallPathHostArchitecture Condition="'$(PROCESSOR_ARCHITECTURE)' != 'x86'">X64</_VCInstallPathHostArchitecture>
<VCInstallPath32>$(VCToolsInstallDir)bin\Host$(_VCInstallPathHostArchitecture)\x86\vcmeta.dll</VCInstallPath32>
<VCInstallPath64>$(VCToolsInstallDir)bin\Host$(_VCInstallPathHostArchitecture)\x64\vcmeta.dll</VCInstallPath64>
</PropertyGroup>
</Target> Looking at this, it appears if the BuildTools NuGet could set the |
Looking at the binlog for
Instead it uses an executable - but that also takes a long time:
|
Tagging @mikebattista to comment on the feasibility of adding |
This is completed by: https://microsoft.visualstudio.com/WinUI/_git/microsoft-ui-xaml-lift/pullrequest/8128511 We ported |
This is somewhat related to this older issue.
We found installing the .NET MAUI workload in Visual Studio, incremental builds always hit time spent in:
But if you install this workload:
Then the problem goes away:
Debugging what is happening, I found the presence of:
When these exist, incremental builds are able to skip extra work. When they are missing, you see:
Ask: Can we avoid
vcmeta.dll
usage? or ship this file as part of the Windows App SDK?Details on how we are addressing this for now here. It unfortunately will add ~290MB to .NET MAUI's install footprint.
The text was updated successfully, but these errors were encountered: