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]