-
由 Larry Ewing 提交于
* [wasm] Build tasks for net472 also (#51959) * [wasm] Fix loading WebAssembly tasks in VS - In case of `WasmAppBuilder.dll`, we were packaging only the task assembly, and `System.Reflection.MetadataLoadContext` for net472, same as net6.0 . - But for net472, VS fails with errors like: ``` C:\Program Files\dotnet\packs\Microsoft.NET.Runtime.WebAssembly.Sdk\6.0.0-preview.4.21222.10\Sdk\WasmApp.targets(424,4): Error MSB4018: The "PInvokeTableGenerator" task failed unexpectedly. System.IO.FileNotFoundException: Could not load file or assembly 'System.Reflection.Metadata, Version=1.4.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. File name: 'System.Reflection.Metadata, Version=1.4.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' at System.Reflection.MetadataLoadContext.LoadFromStreamCore(Stream peStream) at System.Reflection.MetadataLoadContext.LoadFromAssemblyPath(String assemblyPath) at System.Reflection.PathAssemblyResolver.Resolve(MetadataLoadContext context, AssemblyName assemblyName) at System.Reflection.MetadataLoadContext.TryFindAssemblyByCallingResolveHandler(RoAssemblyName refName) at System.Reflection.MetadataLoadContext.ResolveToAssemblyOrExceptionAssembly(RoAssemblyName refName) at System.Reflection.MetadataLoadContext.TryResolveAssembly(RoAssemblyName refName, Exception& e) at System.Reflection.MetadataLoadContext.TryGetCoreAssembly(String coreAssemblyName, Exception& e) at System.Reflection.TypeLoading.CoreTypes..ctor(MetadataLoadContext loader, String coreAssemblyName) at System.Reflection.MetadataLoadContext..ctor(MetadataAssemblyResolver resolver, String coreAssemblyName) at PInvokeTableGenerator.GenPInvokeTable(String[] pinvokeModules, String[] assemblies) in /Users/radical/dev/r2/src/tasks/WasmAppBuilder/PInvokeTableGenerator.cs:line 42 at PInvokeTableGenerator.Execute() in /Users/radical/dev/r2/src/tasks/WasmAppBuilder/PInvokeTableGenerator.cs:line 28 at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() ``` - So, bundle all the dependent assemblies from the publish folder * Address review feedback * Update src/tasks/AotCompilerTask/MonoAOTCompiler.csproj Co-authored-by: NDaniel Plaisted <dsplaisted@gmail.com> * Update src/tasks/AotCompilerTask/MonoAOTCompiler.csproj Co-authored-by: NDaniel Plaisted <dsplaisted@gmail.com> * Update src/tasks/WasmAppBuilder/WasmAppBuilder.csproj Co-authored-by: NDaniel Plaisted <dsplaisted@gmail.com> * Update src/tasks/WasmAppBuilder/WasmAppBuilder.csproj Co-authored-by: NDaniel Plaisted <dsplaisted@gmail.com> * Apply suggestions from code review Co-authored-by: NDaniel Plaisted <dsplaisted@gmail.com> * Use a property for net472 Co-authored-by: NAnkit Jain <radical@gmail.com> Co-authored-by: NDaniel Plaisted <dsplaisted@gmail.com>
bfd6048a