|
| 1 | +<Project> |
| 2 | + |
| 3 | + <PropertyGroup> |
| 4 | + <!-- Target .NET 10 for WASM --> |
| 5 | + <TargetFramework>net10.0</TargetFramework> |
| 6 | + |
| 7 | + <!-- Build as an executable to support top-level entry points --> |
| 8 | + <OutputType>Exe</OutputType> |
| 9 | + |
| 10 | + <!-- Enable unsafe code for interop --> |
| 11 | + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> |
| 12 | + </PropertyGroup> |
| 13 | + |
| 14 | + <!-- Cloudflare Wrangler configuration defaults --> |
| 15 | + <PropertyGroup> |
| 16 | + <!-- Worker name: defaults to assembly name converted to kebab-case (e.g., Hello.World -> hello-world) --> |
| 17 | + <_WranglerNameIsDefault Condition="'$(WranglerName)' == ''">true</_WranglerNameIsDefault> |
| 18 | + <WranglerName Condition="'$(WranglerName)' == ''">$(AssemblyName)</WranglerName> |
| 19 | + <!-- Main entry point --> |
| 20 | + <WranglerMain Condition="'$(WranglerMain)' == ''">index.js</WranglerMain> |
| 21 | + <!-- Compatibility date --> |
| 22 | + <WranglerCompatibilityDate Condition="'$(WranglerCompatibilityDate)' == ''">2026-01-01</WranglerCompatibilityDate> |
| 23 | + <!-- Compatibility flags (comma-separated, will be quoted in TOML) --> |
| 24 | + <WranglerCompatibilityFlags Condition="'$(WranglerCompatibilityFlags)' == ''">nodejs_compat</WranglerCompatibilityFlags> |
| 25 | + <!-- Development server port --> |
| 26 | + <WranglerDevPort Condition="'$(WranglerDevPort)' == ''">8787</WranglerDevPort> |
| 27 | + <!-- Development server protocol --> |
| 28 | + <WranglerDevProtocol Condition="'$(WranglerDevProtocol)' == ''">http</WranglerDevProtocol> |
| 29 | + </PropertyGroup> |
| 30 | + |
| 31 | + <PropertyGroup> |
| 32 | + <UseAppHost>false</UseAppHost> |
| 33 | + <DotNetJsApi>true</DotNetJsApi> |
| 34 | + <UsingBrowserRuntimeWorkload>false</UsingBrowserRuntimeWorkload> |
| 35 | + <EmccFlags>$(EmccFlags) -O3</EmccFlags> |
| 36 | + |
| 37 | + <!-- NativeAOT LLVM settings (applied during publish) --> |
| 38 | + <PublishTrimmed>true</PublishTrimmed> |
| 39 | + <SelfContained>true</SelfContained> |
| 40 | + <NativeLib Condition="'$(OutputType)' == 'Library'">Shared</NativeLib> |
| 41 | + |
| 42 | + <!-- Enable workload resolver to pick up EmscriptenSdkToolsPath --> |
| 43 | + <MSBuildEnableWorkloadResolver>true</MSBuildEnableWorkloadResolver> |
| 44 | + <EmitLegacyAssetsFileItems>true</EmitLegacyAssetsFileItems> |
| 45 | + |
| 46 | + <!-- Runtime identifier for browser-wasm --> |
| 47 | + <RuntimeIdentifier>browser-wasm</RuntimeIdentifier> |
| 48 | + |
| 49 | + <!-- Target architecture --> |
| 50 | + <TargetArchitecture>wasm</TargetArchitecture> |
| 51 | + <PlatformTarget>AnyCPU</PlatformTarget> |
| 52 | + |
| 53 | + <!-- Globalization --> |
| 54 | + <InvariantGlobalization>true</InvariantGlobalization> |
| 55 | + <InvariantTimezone>true</InvariantTimezone> |
| 56 | + <PredefinedCulturesOnly>true</PredefinedCulturesOnly> |
| 57 | + |
| 58 | + <!-- ILC (IL Compiler) settings for size optimization --> |
| 59 | + <IlcTrimMetadata>true</IlcTrimMetadata> |
| 60 | + <IlcFoldIdenticalMethodBodies>true</IlcFoldIdenticalMethodBodies> |
| 61 | + |
| 62 | + <!-- Trimming and feature switches for minimal output --> |
| 63 | + <TrimMode>full</TrimMode> |
| 64 | + <TrimmerRemoveSymbols>true</TrimmerRemoveSymbols> |
| 65 | + <_AggressiveAttributeTrimming>true</_AggressiveAttributeTrimming> |
| 66 | + <AutoreleasePoolSupport>false</AutoreleasePoolSupport> |
| 67 | + <DebuggerSupport>false</DebuggerSupport> |
| 68 | + <EnableCppCLIHostActivation>false</EnableCppCLIHostActivation> |
| 69 | + <EnableUnsafeBinaryFormatterSerialization>false</EnableUnsafeBinaryFormatterSerialization> |
| 70 | + <EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization>false</EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization> |
| 71 | + <EnableUnsafeUTF7Encoding>false</EnableUnsafeUTF7Encoding> |
| 72 | + <_EnableConsumingManagedCodeFromNativeHosting>false</_EnableConsumingManagedCodeFromNativeHosting> |
| 73 | + <EventSourceSupport>false</EventSourceSupport> |
| 74 | + <HttpActivityPropagationSupport>false</HttpActivityPropagationSupport> |
| 75 | + <MetadataUpdaterSupport>false</MetadataUpdaterSupport> |
| 76 | + <UseNativeHttpHandler>true</UseNativeHttpHandler> |
| 77 | + <UseSystemResourceKeys>true</UseSystemResourceKeys> |
| 78 | + <StartupHookSupport>false</StartupHookSupport> |
| 79 | + <CustomResourceTypesSupport>false</CustomResourceTypesSupport> |
| 80 | + <BuiltInComInteropSupport>false</BuiltInComInteropSupport> |
| 81 | + <WasmEmitSourceMap>false</WasmEmitSourceMap> |
| 82 | + <WasmNativeDebugSymbols>false</WasmNativeDebugSymbols> |
| 83 | + <JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault> |
| 84 | + <MetricsSupport>false</MetricsSupport> |
| 85 | + <DisableDependencyInjectionDynamicEngine>true</DisableDependencyInjectionDynamicEngine> |
| 86 | + <NullabilityInfoContextSupport>false</NullabilityInfoContextSupport> |
| 87 | + <DynamicCodeSupport>false</DynamicCodeSupport> |
| 88 | + <XmlResolverIsNetworkingEnabledByDefault>false</XmlResolverIsNetworkingEnabledByDefault> |
| 89 | + <StackTraceSupport>false</StackTraceSupport> |
| 90 | + <DebugType>none</DebugType> |
| 91 | + |
| 92 | + <!-- Emscripten arguments --> |
| 93 | + <EmccExtraArgs>-s EXPORTED_RUNTIME_METHODS=cwrap -s ENVIRONMENT=webview -s EXPORT_ES6=1 -s ASSERTIONS=0</EmccExtraArgs> |
| 94 | + |
| 95 | + <!-- Implicit usings and nullable --> |
| 96 | + <ImplicitUsings>enable</ImplicitUsings> |
| 97 | + <Nullable>enable</Nullable> |
| 98 | + |
| 99 | + <!-- Avoid requiring a repo-level nuget.config --> |
| 100 | + <RestoreAdditionalProjectSources> |
| 101 | + https://api.nuget.org/v3/index.json; |
| 102 | + https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-experimental/nuget/v3/index.json; |
| 103 | + </RestoreAdditionalProjectSources> |
| 104 | + </PropertyGroup> |
| 105 | +</Project> |
0 commit comments