Skip to content

Commit 481390e

Browse files
authored
Demo for using a NuGet package (#48)
1 parent 24c17a0 commit 481390e

22 files changed

+223
-105
lines changed
+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Project>
2+
<!-- Use Local NuGet package -->
3+
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
4+
<PackageReference Include="BlazorLazyLoading.Components" Version="$(BLLVersion)" />
5+
</ItemGroup>
6+
7+
<!-- Use Project reference -->
8+
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
9+
<ProjectReference Include="$(MSBuildThisFileDirectory)..\nuget\BlazorLazyLoading.Components\BlazorLazyLoading.Components.csproj" />
10+
</ItemGroup>
11+
</Project>

demo/BlazorLazyLoading.Module.props

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<Project>
2+
<!-- Use Local NuGet package -->
3+
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
4+
<PackageReference Include="BlazorLazyLoading.Module" Version="$(BLLVersion)" PrivateAssets="all" />
5+
</ItemGroup>
6+
7+
<!-- Use Project reference -->
8+
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
9+
<ProjectReference Include="$(MSBuildThisFileDirectory)..\nuget\BlazorLazyLoading.Module\BlazorLazyLoading.Module.csproj" PrivateAssets="all" />
10+
</ItemGroup>
11+
<Import Condition="!$(BLLUseLocalNugetPackages)" Project="$(MSBuildThisFileDirectory)..\nuget\BlazorLazyLoading.Module\build\BlazorLazyLoading.Module.props" />
12+
<Import Condition="!$(BLLUseLocalNugetPackages)" Project="$(MSBuildThisFileDirectory)..\nuget\BlazorLazyLoading.Module\build\BlazorLazyLoading.Module.targets" />
13+
</Project>

demo/BlazorLazyLoading.Server.props

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Project>
2+
<!-- Use Local NuGet package -->
3+
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
4+
<PackageReference Include="BlazorLazyLoading.Server" Version="$(BLLVersion)" PrivateAssets="all" />
5+
</ItemGroup>
6+
7+
<!-- Use Project reference -->
8+
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
9+
<ProjectReference Include="$(MSBuildThisFileDirectory)..\nuget\BlazorLazyLoading.Server\BlazorLazyLoading.Server.csproj" PrivateAssets="all" />
10+
</ItemGroup>
11+
</Project>

demo/BlazorLazyLoading.Wasm.props

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<Project>
2+
<!-- Use Local NuGet package -->
3+
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
4+
<PackageReference Include="BlazorLazyLoading.Wasm" Version="$(BLLVersion)" PrivateAssets="all" />
5+
</ItemGroup>
6+
7+
<!-- Use Project reference -->
8+
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
9+
<ProjectReference Include="$(MSBuildThisFileDirectory)..\nuget\BlazorLazyLoading.Wasm\BlazorLazyLoading.Wasm.csproj" PrivateAssets="all" />
10+
</ItemGroup>
11+
</Project>

demo/Demo.sln

+24
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,16 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "LazyAreas", "LazyAreas", "{
3737
EndProject
3838
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Core", "Core\Core.csproj", "{DB1AE536-72C2-4CCD-A7D9-0A79AAEEDA54}"
3939
EndProject
40+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LazyComponentFromNuget", "LazyAreas\LazyComponentFromNuget\LazyComponentFromNuget.csproj", "{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}"
41+
EndProject
42+
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Imports", "Imports", "{7B174F1E-2091-4D48-9111-B52531C1B865}"
43+
ProjectSection(SolutionItems) = preProject
44+
BlazorLazyLoading.Components.props = BlazorLazyLoading.Components.props
45+
BlazorLazyLoading.Module.props = BlazorLazyLoading.Module.props
46+
BlazorLazyLoading.Server.props = BlazorLazyLoading.Server.props
47+
BlazorLazyLoading.Wasm.props = BlazorLazyLoading.Wasm.props
48+
EndProjectSection
49+
EndProject
4050
Global
4151
GlobalSection(SolutionConfigurationPlatforms) = preSolution
4252
Debug|Any CPU = Debug|Any CPU
@@ -155,6 +165,18 @@ Global
155165
{DB1AE536-72C2-4CCD-A7D9-0A79AAEEDA54}.Release|x64.Build.0 = Release|Any CPU
156166
{DB1AE536-72C2-4CCD-A7D9-0A79AAEEDA54}.Release|x86.ActiveCfg = Release|Any CPU
157167
{DB1AE536-72C2-4CCD-A7D9-0A79AAEEDA54}.Release|x86.Build.0 = Release|Any CPU
168+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
169+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Debug|Any CPU.Build.0 = Debug|Any CPU
170+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Debug|x64.ActiveCfg = Debug|Any CPU
171+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Debug|x64.Build.0 = Debug|Any CPU
172+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Debug|x86.ActiveCfg = Debug|Any CPU
173+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Debug|x86.Build.0 = Debug|Any CPU
174+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Release|Any CPU.ActiveCfg = Release|Any CPU
175+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Release|Any CPU.Build.0 = Release|Any CPU
176+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Release|x64.ActiveCfg = Release|Any CPU
177+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Release|x64.Build.0 = Release|Any CPU
178+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Release|x86.ActiveCfg = Release|Any CPU
179+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97}.Release|x86.Build.0 = Release|Any CPU
158180
EndGlobalSection
159181
GlobalSection(SolutionProperties) = preSolution
160182
HideSolutionNode = FALSE
@@ -171,6 +193,8 @@ Global
171193
{E503BF43-DE57-4DB6-AF93-A5F765C94154} = {2587AE99-7624-47E4-B6B8-79EC67346F67}
172194
{566D14F1-B2FB-463C-A627-C5EB23B763B7} = {2587AE99-7624-47E4-B6B8-79EC67346F67}
173195
{DB1AE536-72C2-4CCD-A7D9-0A79AAEEDA54} = {2587AE99-7624-47E4-B6B8-79EC67346F67}
196+
{A4D17AA8-D918-45FD-9CCA-3FC5ECCDBD97} = {566D14F1-B2FB-463C-A627-C5EB23B763B7}
197+
{7B174F1E-2091-4D48-9111-B52531C1B865} = {2587AE99-7624-47E4-B6B8-79EC67346F67}
174198
EndGlobalSection
175199
GlobalSection(ExtensibilityGlobals) = postSolution
176200
SolutionGuid = {B979A335-AE81-406A-AADA-F236549D23D3}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
<Project Sdk="Microsoft.NET.Sdk.Razor">
2+
3+
<PropertyGroup>
4+
<TargetFramework>netstandard2.1</TargetFramework>
5+
<RazorLangVersion>3.0</RazorLangVersion>
6+
</PropertyGroup>
7+
8+
<ItemGroup>
9+
<PackageReference Include="Microsoft.AspNetCore.Components" Version="3.1.2" />
10+
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.1.2" />
11+
</ItemGroup>
12+
13+
<ItemGroup>
14+
<PackageReference Include="Faso.Blazor.SpinKit" Version="1.0.1" />
15+
</ItemGroup>
16+
17+
<Import Project="../../BlazorLazyLoading.Components.props" />
18+
19+
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
@page "/lazy-component-from-nuget"
2+
3+
<h1>Lazy Component from NuGet</h1>
4+
<p>
5+
The following component is rendered from a nuget package (Faso.Blazor.SpinKit in this case).
6+
The nuget DLL will only be loaded when opening this page for the first time. Please check the network tab :)
7+
</p>
8+
9+
@*
10+
Works fine out of the box
11+
*@
12+
<Faso.Blazor.SpinKit.SpinKitWave />
13+
14+
@*
15+
Requires the Module to have:
16+
+ <BLLManifestAssemblies Include="Faso.Blazor.SpinKit" />
17+
*@
18+
@*<Lazy Name="Faso.Blazor.SpinKit.SpinKitWave" />*@
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
@using System.Net.Http
2+
@using Microsoft.AspNetCore.Components.Forms
3+
@using Microsoft.AspNetCore.Components.Routing
4+
@using Microsoft.AspNetCore.Components.Web
5+
@using Microsoft.JSInterop
6+
7+
@using BlazorLazyLoading
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
_lazy/
2+
_lazy.json

demo/Logger/Logger.csproj

+1-9
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@
1010
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="3.1.2" />
1111
</ItemGroup>
1212

13-
<!-- Use Local NuGet package -->
14-
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
15-
<PackageReference Include="BlazorLazyLoading.Components" Version="$(BLLVersion)" />
16-
</ItemGroup>
17-
18-
<!-- Use Project reference -->
19-
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
20-
<ProjectReference Include="..\..\nuget\BlazorLazyLoading.Components\BlazorLazyLoading.Components.csproj" />
21-
</ItemGroup>
13+
<Import Project="../BlazorLazyLoading.Components.props" />
2214

2315
<ItemGroup>
2416
<ProjectReference Include="..\Core\Core.csproj" />

demo/ModulesHost/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/

demo/ModulesHost/ModulesHost.csproj

+8-12
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,17 @@
55
<RazorLangVersion>3.0</RazorLangVersion>
66
</PropertyGroup>
77

8-
<!-- Modules -->
98
<ItemGroup>
10-
<ProjectReference Include="..\Logger\Logger.csproj" Name="Logger" />
11-
</ItemGroup>
12-
13-
<!-- Use Local NuGet package -->
14-
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
15-
<PackageReference Include="BlazorLazyLoading.Module" Version="$(BLLVersion)" PrivateAssets="all" />
9+
<ProjectReference Include="..\Logger\Logger.csproj" />
10+
<ProjectReference Include="..\LazyAreas\LazyComponentFromNuget\LazyComponentFromNuget.csproj" />
1611
</ItemGroup>
1712

18-
<!-- Use Project reference -->
19-
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
20-
<ProjectReference Include="..\..\nuget\BlazorLazyLoading.Module\BlazorLazyLoading.Module.csproj" PrivateAssets="all" />
13+
<!-- Extra Assemblies in the Manifest -->
14+
<ItemGroup>
15+
<BLLManifestAssemblies Include="Logger" />
16+
<BLLManifestAssemblies Include="LazyComponentFromNuget" />
2117
</ItemGroup>
22-
<Import Condition="!$(BLLUseLocalNugetPackages)" Project="..\..\nuget\BlazorLazyLoading.Module\build\BlazorLazyLoading.Module.props" />
23-
<Import Condition="!$(BLLUseLocalNugetPackages)" Project="..\..\nuget\BlazorLazyLoading.Module\build\BlazorLazyLoading.Module.targets" />
18+
19+
<Import Project="../BlazorLazyLoading.Module.props" />
2420

2521
</Project>

demo/ServerHost/ServerHost.csproj

+1-9
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,7 @@
44
<TargetFramework>netcoreapp3.1</TargetFramework>
55
</PropertyGroup>
66

7-
<!-- Use Local NuGet package -->
8-
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
9-
<PackageReference Include="BlazorLazyLoading.Server" Version="$(BLLVersion)" PrivateAssets="all" />
10-
</ItemGroup>
11-
12-
<!-- Use Project reference -->
13-
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
14-
<ProjectReference Include="..\..\nuget\BlazorLazyLoading.Server\BlazorLazyLoading.Server.csproj" PrivateAssets="all" />
15-
</ItemGroup>
7+
<Import Project="../BlazorLazyLoading.Server.props" />
168

179
<!-- Extra dependencies -->
1810
<ItemGroup>

demo/WasmHost/Layout/NavMenu.razor

+3-3
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@
1414
</li>
1515
<li class="nav-item">
1616
<NavLink class="nav-link" href="counter">
17-
<span class="oi oi-plus" aria-hidden="true"></span> Counter
17+
<span class="oi oi-plus" aria-hidden="true"></span> &lt;Lazy /&gt;
1818
</NavLink>
1919
</li>
2020
<li class="nav-item">
21-
<NavLink class="nav-link" href="fetchdata">
22-
<span class="oi oi-list-rich" aria-hidden="true"></span> Fetch Data
21+
<NavLink class="nav-link" href="lazy-component-from-nuget">
22+
<span class="oi oi-plus" aria-hidden="true"></span> Lazy Component from Nuget
2323
</NavLink>
2424
</li>
2525
<li class="nav-item">

demo/WasmHost/WasmHost.csproj

+1-9
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@
1010
<BlazorLinkerDescriptor Include="LinkerConfig.xml" />
1111
</ItemGroup>
1212

13-
<!-- Use Local NuGet package -->
14-
<ItemGroup Condition="$(BLLUseLocalNugetPackages)">
15-
<PackageReference Include="BlazorLazyLoading.Wasm" Version="$(BLLVersion)" PrivateAssets="all" />
16-
</ItemGroup>
17-
18-
<!-- Use Project reference -->
19-
<ItemGroup Condition="!$(BLLUseLocalNugetPackages)">
20-
<ProjectReference Include="..\..\nuget\BlazorLazyLoading.Wasm\BlazorLazyLoading.Wasm.csproj" PrivateAssets="all" />
21-
</ItemGroup>
13+
<Import Project="../BlazorLazyLoading.Wasm.props" />
2214

2315
<!-- Extra dependencies -->
2416
<ItemGroup>
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
<Project>
22

33
<PropertyGroup>
4-
<BLLGenerateLazyManifest Condition="'$(BLLGenerateLazyManifest)' == ''">true</BLLGenerateLazyManifest>
4+
<BLLGenerateManifest Condition="'$(BLLGenerateManifest)' == ''">true</BLLGenerateManifest>
55
<RestoreProjectStyle Condition="'$(RestoreProjectStyle)' == ''">PackageReference</RestoreProjectStyle>
6-
<CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">$(BLLGenerateLazyManifest)</CopyLocalLockFileAssemblies>
6+
<CopyLocalLockFileAssemblies Condition="'$(CopyLocalLockFileAssemblies)' == ''">$(BLLGenerateManifest)</CopyLocalLockFileAssemblies>
77
</PropertyGroup>
88

99
<ItemGroup>
10-
<BLLManifestGeneratorAssemblyNames Remove="*" />
11-
<BLLManifestGeneratorAssemblyPaths Remove="*" />
12-
13-
<BLLManifestGeneratorAssemblyNames Include="$(MSBuildProjectName)" />
14-
<BLLManifestGeneratorAssemblyPaths Include="$(_BLLNugetPackageBuildBinDirectory)" />
10+
<BLLManifestAssemblies Include="$(MSBuildProjectName)" />
11+
<BLLManifestAssemblyPaths Include="$(_BLLNugetPackageBuildBinDirectory)" />
1512
</ItemGroup>
1613

1714
<PropertyGroup>
1815
<_BLLNugetPackageBuildBinDirectory>$(MSBuildThisFileDirectory)../build/bin/</_BLLNugetPackageBuildBinDirectory>
1916

20-
<ModuleLazyDirectoryName>_lazy</ModuleLazyDirectoryName>
21-
<ModuleLazyManifestFile>_lazy.json</ModuleLazyManifestFile>
22-
<ModuleWwwRootDirectory>$(MSBuildProjectDirectory)/wwwroot/</ModuleWwwRootDirectory>
23-
<ModuleLazyDirectory>$(ModuleWwwRootDirectory)$(ModuleLazyDirectoryName)/</ModuleLazyDirectory>
24-
<ModuleManifestPath>$(ModuleWwwRootDirectory)$(ModuleLazyManifestFile)</ModuleManifestPath>
17+
<_BLLModuleLazyDirectoryName>_lazy</_BLLModuleLazyDirectoryName>
18+
<_BLLModuleLazyManifestFile>_lazy.json</_BLLModuleLazyManifestFile>
19+
<_BLLModuleWwwRootDirectory>$(MSBuildProjectDirectory)/wwwroot/</_BLLModuleWwwRootDirectory>
20+
<_BLLModuleLazyDirectory>$(_BLLModuleWwwRootDirectory)$(_BLLModuleLazyDirectoryName)/</_BLLModuleLazyDirectory>
21+
<_BLLModuleManifestPath>$(_BLLModuleWwwRootDirectory)$(_BLLModuleLazyManifestFile)</_BLLModuleManifestPath>
2522
</PropertyGroup>
2623

2724
</Project>

nuget/BlazorLazyLoading.Module/build/BlazorLazyLoading.Module.targets

+14-18
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@
22

33
<Target Name="CreateGitIgnore" BeforeTargets="PrepareForBuild">
44
<WriteLinesToFile
5-
Condition="!Exists('$(ModuleWwwRootDirectory).gitignore')"
6-
File="$(ModuleWwwRootDirectory).gitignore"
7-
Lines="$(ModuleLazyDirectoryName)/;$(ModuleLazyManifestFile)"/>
5+
Condition="!Exists('$(_BLLModuleWwwRootDirectory).gitignore')"
6+
File="$(_BLLModuleWwwRootDirectory).gitignore"
7+
Lines="$(_BLLModuleLazyDirectoryName)/;$(_BLLModuleLazyManifestFile)"/>
88
</Target>
99

1010
<Target Name="CleanBin" BeforeTargets="Clean;Rebuild;Build">
1111
<ItemGroup>
12-
<FilesToDelete Include="$(ModuleLazyDirectory)**/*.*" />
13-
<FilesToDelete Include="$(ModuleManifestPath)" />
12+
<_FilesToDelete Include="$(_BLLModuleLazyDirectory)**/*.*" />
13+
<_FilesToDelete Include="$(_BLLModuleManifestPath)" />
1414
</ItemGroup>
1515

16-
<RemoveDir Directories="$(ModuleLazyDirectory)" />
17-
<Delete Files="@(FilesToDelete)" />
16+
<RemoveDir Directories="$(_BLLModuleLazyDirectory)" />
17+
<Delete Files="@(_FilesToDelete)" />
1818
</Target>
1919

2020
<!-- Ensure all DLLs and PDBs are available -->
@@ -32,32 +32,28 @@
3232

3333
<Copy
3434
SourceFiles="@(OutputFiles)"
35-
DestinationFolder="$(ModuleLazyDirectory)"
35+
DestinationFolder="$(_BLLModuleLazyDirectory)"
3636
OverwriteReadOnlyFiles="true"
3737
SkipUnchangedFiles="false" />
3838

3939
</Target>
4040

4141
<!-- Create Lazy Manifest -->
42-
42+
4343
<UsingTask TaskName="GenerateManifest" AssemblyFile="$(_BLLNugetPackageBuildBinDirectory)ManifestGenerator.dll" />
4444

45-
<Target Name="GenerateManifest" AfterTargets="CopyDependencies" Condition="$(BLLGenerateLazyManifest)">
45+
<Target Name="GenerateManifest" AfterTargets="CopyDependencies" Condition="$(BLLGenerateManifest)">
4646

4747
<PropertyGroup>
4848
<ProjectOutDir>$(MSBuildProjectDirectory)/$(OutDir)</ProjectOutDir>
4949
</PropertyGroup>
5050

51-
<ItemGroup>
52-
<BLLManifestGeneratorAssemblyNames Include="@(ProjectReference->'%(Name)')" />
53-
</ItemGroup>
54-
55-
<Message Importance="normal" Text="BLLManifestGeneratorAssemblyNames: @(BLLManifestGeneratorAssemblyNames)" />
51+
<Message Importance="normal" Text="Generating manifest for: @(BLLManifestAssemblies)" />
5652

5753
<GenerateManifest
58-
AssemblyNames="@(BLLManifestGeneratorAssemblyNames)"
59-
AssemblyPaths="$(ProjectOutDir);@(BLLManifestGeneratorAssemblyPaths)"
60-
ManifestOutputPath="$(ModuleManifestPath)" />
54+
AssemblyNames="@(BLLManifestAssemblies)"
55+
AssemblyPaths="$(ProjectOutDir);@(BLLManifestAssemblyPaths)"
56+
ManifestOutputPath="$(_BLLModuleManifestPath)" />
6157

6258
</Target>
6359

0 commit comments

Comments
 (0)