1. 04 5月, 2021 1 次提交
    • L
      [release/6.0-preview4][wasm] Fix Blazor AOT builds inside Visual Studio (#52078) · bfd6048a
      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
  2. 10 2月, 2021 1 次提交