Skip to content

Commit 40d6558

Browse files
committed
ElectronNET.WebApp: Update project file with these changes:
- Add a ElectronNetDevMode property at the top This allows switching the project between using the nuget packages and consuming the core code directly via project references and direct imports or .props and .targets files - Add the project data which was previously in the manifest file - Add the Microsoft.TypeScript.MSBuild package This overrides the ASP.Net built-in TS support which is currently at version 5.6 only. With this package, we get 5.9.3 everywhere, so everything is consistent now. The only caveat is that it requires exclusion of folders (especially node_modules), so that they don't get attempted to be compiled
1 parent ae12eb4 commit 40d6558

File tree

1 file changed

+54
-22
lines changed

1 file changed

+54
-22
lines changed
Lines changed: 54 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,54 @@
1-
<Project Sdk="Microsoft.NET.Sdk.Web">
1+
<Project Sdk="Microsoft.NET.Sdk.Web">
2+
3+
<PropertyGroup>
4+
<!-- When this is enabled, the project will be switched from nuget packages to consuming the ElectronNet orchestration directly -->
5+
<ElectronNetDevMode>False</ElectronNetDevMode>
6+
</PropertyGroup>
7+
8+
<Import Project="..\ElectronNET\build\ElectronNET.props" Condition="$(ElectronNetDevMode)" />
9+
210
<PropertyGroup>
311
<TargetFramework>net8.0</TargetFramework>
412
<AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel>
513
<AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName>
6-
<RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
7-
<TypeScriptToolsVersion>4.2</TypeScriptToolsVersion>
14+
</PropertyGroup>
15+
<PropertyGroup>
16+
<IsPackable>false</IsPackable>
17+
<ImportNuGetBuildTasksPackTargetsFromSdk>false</ImportNuGetBuildTasksPackTargetsFromSdk>
18+
<PublishTrimmed>False</PublishTrimmed>
19+
<NuGetAudit>False</NuGetAudit>
20+
</PropertyGroup>
21+
<PropertyGroup Label="ElectronNetCommon">
22+
<PackageIcon>128.png</PackageIcon>
23+
<ApplicationIcon>wwwroot\assets\app-icon\win\app.ico</ApplicationIcon>
24+
<NoWin32Manifest>true</NoWin32Manifest>
25+
<ElectronIcon>wwwroot\assets\app-icon\win\app.ico</ElectronIcon>
26+
<Title>ElectronNET API Demo1</Title>
27+
<Version>1.0.2</Version>
28+
<Product>com.electronnet-apisamples.app</Product>
29+
<Description>Electron.NET Demo Application</Description>
30+
<Company>Electron.Net</Company>
31+
<Copyright>Copyright © 2025, Electron.NET</Copyright>
32+
<PackageTags>Electron;.NET;ASP;NET;Sample;App</PackageTags>
33+
<ElectronVersion>30.4.0</ElectronVersion>
34+
<ElectronSplashScreen>wwwroot\assets\img\[email protected]</ElectronSplashScreen>
35+
<License>MIT</License>
36+
<ElectronSingleInstance>False</ElectronSingleInstance>
37+
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
38+
<ElectronBuilderVersion>26.0</ElectronBuilderVersion>
39+
</PropertyGroup>
40+
<PropertyGroup>
41+
<TypeScriptModuleKind>commonjs</TypeScriptModuleKind>
42+
<TypeScriptUseNodeJS>true</TypeScriptUseNodeJS>
43+
<TypeScriptTSConfig>ElectronHostHook/tsconfig.json</TypeScriptTSConfig>
844
</PropertyGroup>
45+
<ItemGroup>
46+
<Compile Remove="publish\**" />
47+
<Content Remove="publish\**" />
48+
<EmbeddedResource Remove="publish\**" />
49+
<None Remove="publish\**" />
50+
<TypeScriptCompile Remove="**\node_modules\**" />
51+
</ItemGroup>
952
<ItemGroup>
1053
<Compile Remove="Controllers\ManageWindowsController.cs" />
1154
</ItemGroup>
@@ -15,19 +58,6 @@
1558
<ItemGroup>
1659
<Folder Include="wwwroot\assets\" />
1760
</ItemGroup>
18-
<ItemGroup>
19-
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.13" />
20-
<PackageReference Include="Microsoft.DotNet.UpgradeAssistant.Extensions.Default.Analyzers" Version="0.4.410601">
21-
<PrivateAssets>all</PrivateAssets>
22-
</PackageReference>
23-
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.15" />
24-
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
25-
<PackageReference Include="SocketIOClient" Version="3.0.8" />
26-
<PackageReference Include="SocketIOClient.Newtonsoft.Json" Version="3.0.7" />
27-
</ItemGroup>
28-
<ItemGroup>
29-
<ProjectReference Include="..\ElectronNET.API\ElectronNET.API.csproj" />
30-
</ItemGroup>
3161
<ItemGroup>
3262
<None Update="Assets\electron.ico">
3363
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
@@ -37,13 +67,15 @@
3767
</None>
3868
</ItemGroup>
3969
<ItemGroup>
40-
<Content Update="ElectronHostHook\**\*.*">
41-
<CopyToPublishDirectory>Never</CopyToPublishDirectory>
42-
</Content>
70+
<ProjectReference Include="..\ElectronNET.API\ElectronNET.API.csproj" Condition="$(ElectronNetDevMode)" />
71+
<ProjectReference Include="..\ElectronNET.AspNet\ElectronNET.AspNet.csproj" Condition="$(ElectronNetDevMode)" />
4372
</ItemGroup>
4473
<ItemGroup>
45-
<Content Update="electron.manifest.json">
46-
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
47-
</Content>
74+
<PackageReference Include="ElectronNET.Core" Version="0.0.18" Condition="'$(ElectronNetDevMode)' != 'True'" />
75+
<PackageReference Include="ElectronNET.Core.AspNet" Version="0.0.18" Condition="'$(ElectronNetDevMode)' != 'True'" />
76+
<PackageReference Include="Microsoft.TypeScript.MSBuild" Version="5.9.3" />
4877
</ItemGroup>
78+
79+
<Import Project="..\ElectronNET\build\ElectronNET.targets" Condition="$(ElectronNetDevMode)" />
80+
4981
</Project>

0 commit comments

Comments
 (0)