diff --git a/src/mono/browser/build/BrowserWasmApp.targets b/src/mono/browser/build/BrowserWasmApp.targets index 9f71350badd04a..91b0db7e78fac6 100644 --- a/src/mono/browser/build/BrowserWasmApp.targets +++ b/src/mono/browser/build/BrowserWasmApp.targets @@ -49,15 +49,6 @@ - - - - - all - - - - diff --git a/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets b/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets index a1749101d987f7..7ab804eeadddfd 100644 --- a/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets +++ b/src/mono/nuget/Microsoft.NET.Sdk.WebAssembly.Pack/build/Microsoft.NET.Sdk.WebAssembly.Browser.targets @@ -946,4 +946,13 @@ Copyright (c) .NET Foundation. All rights reserved. Condition="Exists('$(_DotnetTypesSourcePath)')" SkipUnchangedFiles="true" /> + + + + + + all + + + diff --git a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in index e5fb9c71177b93..30b3e1760648f4 100644 --- a/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in +++ b/src/mono/nuget/Microsoft.NET.Workload.Mono.Toolchain.Current.Manifest/WorkloadManifest.targets.in @@ -64,7 +64,6 @@ '$(WasmProfilers)' != '' or '$(RunAOTCompilation)' == 'true' or '$(WasmBuildNative)' == 'true' or - '$(_UsingBlazorOrWasmSdk)' != 'true' or '$(EmccInitialHeapSize)' != '' or '$(EmccMaximumHeapSize)' != '' " >true diff --git a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs index 4495a7851d859d..2070a25dab620b 100644 --- a/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs +++ b/src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs @@ -296,10 +296,12 @@ void AssertFile(string suffix) } } - [Theory] - [InlineData(false)] - [InlineData(true)] - public async Task LibraryModeBuild(bool useWasmSdk) + [Theory, TestCategory("no-workload")] + [InlineData(false, false)] + [InlineData(true, false)] + [InlineData(false, true)] + [InlineData(true, true)] + public async Task LibraryMode(bool useWasmSdk, bool isPublish) { var config = Configuration.Release; ProjectInfo info = CopyTestAsset(config, aot: false, TestAsset.LibraryModeTestApp, "libraryMode"); @@ -309,13 +311,22 @@ public async Task LibraryModeBuild(bool useWasmSdk) { "Microsoft.NET.Sdk.WebAssembly", "Microsoft.NET.Sdk" } }); } - BuildProject(info, config, new BuildOptions(AssertAppBundle: useWasmSdk)); + + // Publishing without WASM SDK is expected to fail + bool expectSuccess = useWasmSdk || !isPublish; + if (isPublish) + PublishProject(info, config, new PublishOptions(AssertAppBundle: useWasmSdk, ExpectSuccess: expectSuccess)); + else + BuildProject(info, config, new BuildOptions(AssertAppBundle: useWasmSdk, ExpectSuccess: expectSuccess)); + if (useWasmSdk) { - var result = await RunForBuildWithDotnetRun(new BrowserRunOptions(config, ExpectedExitCode: 100)); + var result = isPublish + ? await RunForPublishWithWebServer(new BrowserRunOptions(config, ExpectedExitCode: 100)) + : await RunForBuildWithDotnetRun(new BrowserRunOptions(config, ExpectedExitCode: 100)); + Assert.Contains("WASM Library MyExport is called", result.TestOutput); } - } [Theory]