diff --git a/src/Components/WebAssembly/Build/src/Microsoft.AspNetCore.Components.WebAssembly.Build.nuspec b/src/Components/WebAssembly/Build/src/Microsoft.AspNetCore.Components.WebAssembly.Build.nuspec index 65f6ddb98f..95b56065b2 100644 --- a/src/Components/WebAssembly/Build/src/Microsoft.AspNetCore.Components.WebAssembly.Build.nuspec +++ b/src/Components/WebAssembly/Build/src/Microsoft.AspNetCore.Components.WebAssembly.Build.nuspec @@ -10,6 +10,7 @@ $CommonFileElements$ + diff --git a/src/Components/WebAssembly/Build/src/ReferenceBlazorBuildFromSource.props b/src/Components/WebAssembly/Build/src/ReferenceBlazorBuildFromSource.props index d480df7f95..be4457dfec 100644 --- a/src/Components/WebAssembly/Build/src/ReferenceBlazorBuildFromSource.props +++ b/src/Components/WebAssembly/Build/src/ReferenceBlazorBuildFromSource.props @@ -21,7 +21,8 @@ - - + + + diff --git a/src/Components/WebAssembly/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.props b/src/Components/WebAssembly/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.props index f20d90334c..a85c05ce87 100644 --- a/src/Components/WebAssembly/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.props +++ b/src/Components/WebAssembly/Build/src/build/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.props @@ -1,3 +1,7 @@  + + + true + diff --git a/src/Components/WebAssembly/Build/src/buildTransitive/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.targets b/src/Components/WebAssembly/Build/src/buildTransitive/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.targets new file mode 100644 index 0000000000..951d2823b0 --- /dev/null +++ b/src/Components/WebAssembly/Build/src/buildTransitive/netstandard1.0/Microsoft.AspNetCore.Components.WebAssembly.Build.targets @@ -0,0 +1,4 @@ + + + + diff --git a/src/Components/WebAssembly/Build/src/targets/StaticWebAssetsWokarounds.targets b/src/Components/WebAssembly/Build/src/targets/StaticWebAssetsWokarounds.targets new file mode 100644 index 0000000000..141de7cc86 --- /dev/null +++ b/src/Components/WebAssembly/Build/src/targets/StaticWebAssetsWokarounds.targets @@ -0,0 +1,47 @@ + + + + + + + <_BlazorExternalPublishStaticWebAssets + Include="%(StaticWebAsset.FullPath)" + Condition="'%(StaticWebAsset.SourceType)' != ''" /> + + + <_BlazorNonSharedFilesToPublish Include="@(ResolvedFileToPublish)" Exclude="@(_BlazorExternalPublishStaticWebAssets)" /> + + <_BlazorSharedFilesToPublish + Include="@(ResolvedFileToPublish)" + Exclude="@(_BlazorNonSharedFilesToPublish)" + Condition="'%(ResolvedFileToPublish.RelativePath)' == '%(ResolvedFileToPublish.FileName)%(ResolvedFileToPublish.Extension)'" + /> + + + + + + + + + + + diff --git a/src/Components/WebAssembly/Build/test/BuildIntegrationTests/PublishIntegrationTest.cs b/src/Components/WebAssembly/Build/test/BuildIntegrationTests/PublishIntegrationTest.cs index c727b1dad5..de01ab9ee5 100644 --- a/src/Components/WebAssembly/Build/test/BuildIntegrationTests/PublishIntegrationTest.cs +++ b/src/Components/WebAssembly/Build/test/BuildIntegrationTests/PublishIntegrationTest.cs @@ -198,6 +198,10 @@ namespace Microsoft.AspNetCore.Components.WebAssembly.Build Assert.FileExists(result, blazorPublishDirectory, "_framework", "wasm", DotNetJsFileName); Assert.FileExists(result, blazorPublishDirectory, "_framework", "_bin", "standalone.dll"); Assert.FileExists(result, blazorPublishDirectory, "_framework", "_bin", "Microsoft.Extensions.Logging.Abstractions.dll"); // Verify dependencies are part of the output. + // Verify project references appear as static web assets + Assert.FileExists(result, blazorPublishDirectory, "_framework", "_bin", "RazorClassLibrary.dll"); + // Also verify project references to the server project appear in the publish output + Assert.FileExists(result, publishDirectory, "RazorClassLibrary.dll"); // Verify static assets are in the publish directory Assert.FileExists(result, blazorPublishDirectory, "index.html"); diff --git a/src/Components/WebAssembly/Build/testassets/blazorhosted/Program.cs b/src/Components/WebAssembly/Build/testassets/blazorhosted/Program.cs index e2efcc0c74..b35aacbdcc 100644 --- a/src/Components/WebAssembly/Build/testassets/blazorhosted/Program.cs +++ b/src/Components/WebAssembly/Build/testassets/blazorhosted/Program.cs @@ -10,6 +10,7 @@ namespace blazorhosted.Server public static void Main(string[] args) { Console.WriteLine(typeof(IWebHost)); + Console.WriteLine(typeof(RazorClassLibrary.RCLTest)); } } } diff --git a/src/Components/WebAssembly/Build/testassets/blazorhosted/blazorhosted.csproj b/src/Components/WebAssembly/Build/testassets/blazorhosted/blazorhosted.csproj index 3b08400ff7..743d8ad48c 100644 --- a/src/Components/WebAssembly/Build/testassets/blazorhosted/blazorhosted.csproj +++ b/src/Components/WebAssembly/Build/testassets/blazorhosted/blazorhosted.csproj @@ -6,6 +6,10 @@ + + + + diff --git a/src/Components/WebAssembly/Build/testassets/razorclasslibrary/RCLTest.cs b/src/Components/WebAssembly/Build/testassets/razorclasslibrary/RCLTest.cs new file mode 100644 index 0000000000..8f540c8c06 --- /dev/null +++ b/src/Components/WebAssembly/Build/testassets/razorclasslibrary/RCLTest.cs @@ -0,0 +1,4 @@ +namespace RazorClassLibrary +{ + public class RCLTest {} +} diff --git a/src/Components/WebAssembly/Build/testassets/standalone/Program.cs b/src/Components/WebAssembly/Build/testassets/standalone/Program.cs index 7d2cb4eeea..67b363c346 100644 --- a/src/Components/WebAssembly/Build/testassets/standalone/Program.cs +++ b/src/Components/WebAssembly/Build/testassets/standalone/Program.cs @@ -1,4 +1,4 @@ -using System; +using System; namespace standalone { diff --git a/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/ComponentsWebAssembly-CSharp.Client.csproj.in b/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/ComponentsWebAssembly-CSharp.Client.csproj.in index e612662f2d..7135afd82c 100644 --- a/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/ComponentsWebAssembly-CSharp.Client.csproj.in +++ b/src/ProjectTemplates/ComponentsWebAssembly.ProjectTemplates/ComponentsWebAssembly-CSharp.Client.csproj.in @@ -10,7 +10,7 @@ - +