diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttp.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttp.cs
index 67ec0a4b7c8dc..db7224a70342d 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttp.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttp.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
using System;
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs
index 1de0ee2b24744..4eef64ee389e5 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.ITypes.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.ITypes.cs
index ed00640bb855e..b65506f194c44 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.ITypes.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.ITypes.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.OutgoingHandlerInterop.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.OutgoingHandlerInterop.cs
index 10aba859a4ba5..77435d5b2c7f2 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.OutgoingHandlerInterop.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.OutgoingHandlerInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.TypesInterop.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.TypesInterop.cs
index 121f6cfdd5035..8a5802302e148 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.TypesInterop.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.http.v0_2_1.TypesInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.ErrorInterop.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.ErrorInterop.cs
index 2c3246555fcc2..a395aa89033fb 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.ErrorInterop.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.ErrorInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IError.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IError.cs
index 3621e1c1fd372..be423962894b5 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IError.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IError.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs
index 0c4559fe841dd..b9116711bf03d 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IStreams.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IStreams.cs
index ab775cbfeb08a..737858ba97f5c 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IStreams.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.IStreams.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs
index 4c48ffe69e2f9..01157399463dd 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.StreamsInterop.cs b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.StreamsInterop.cs
index 7d479e6b160c4..1e2ade74bb38c 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.StreamsInterop.cs
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/WasiHttpWorld.wit.imports.wasi.io.v0_2_1.StreamsInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.ps1 b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.ps1
new file mode 100644
index 0000000000000..b57834c224208
--- /dev/null
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.ps1
@@ -0,0 +1,21 @@
+# Prerequisites:
+# powershell
+# tar
+# [cargo](https://rustup.rs/)
+$ProgressPreference = 'SilentlyContinue'
+$ErrorActionPreference='Stop'
+$scriptpath = $MyInvocation.MyCommand.Path
+$dir = Split-Path $scriptpath
+
+Push-Location $dir
+
+
+cargo install --locked --no-default-features --features csharp --version 0.30.0 wit-bindgen-cli
+Invoke-WebRequest -Uri https://github.com/WebAssembly/wasi-http/archive/refs/tags/v0.2.1.tar.gz -OutFile v0.2.1.tar.gz
+tar xzf v0.2.1.tar.gz
+cp world.wit wasi-http-0.2.1/wit/world.wit
+wit-bindgen c-sharp -w wasi-http -r native-aot --internal --skip-support-files wasi-http-0.2.1/wit
+rm -r wasi-http-0.2.1
+rm v0.2.1.tar.gz
+
+Pop-Location
diff --git a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.sh b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.sh
index f4bc2b72ef74d..f79fdbc61bd83 100644
--- a/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.sh
+++ b/src/libraries/System.Net.Http/src/System/Net/Http/WasiHttpHandler/generate-wasi-http-bindings.sh
@@ -11,13 +11,9 @@ set -ex
# [cargo](https://rustup.rs/)
# [curl](https://curl.se/download.html)
-cargo install --locked --no-default-features --features csharp --version 0.29.0 wit-bindgen-cli
+cargo install --locked --no-default-features --features csharp --version 0.30.0 wit-bindgen-cli
curl -OL https://github.com/WebAssembly/wasi-http/archive/refs/tags/v0.2.1.tar.gz
tar xzf v0.2.1.tar.gz
-cat >wasi-http-0.2.1/wit/world.wit <
#nullable enable
using System;
diff --git a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs
index 1a0ef026540eb..b3c646e7e4bb8 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.clocks.v0_2_1.MonotonicClockInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs
index 8ad5cabf64b6a..fd8a827304a91 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.IPoll.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs
index dc01e87574900..c403ef10d1ff2 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/WasiPollWorld.wit.imports.wasi.io.v0_2_1.PollInterop.cs
@@ -1,4 +1,4 @@
-// Generated by `wit-bindgen` 0.29.0. DO NOT EDIT!
+// Generated by `wit-bindgen` 0.30.0. DO NOT EDIT!
//
#nullable enable
diff --git a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.ps1 b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.ps1
new file mode 100644
index 0000000000000..0a7cd7bebb722
--- /dev/null
+++ b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.ps1
@@ -0,0 +1,21 @@
+# Prerequisites:
+# powershell
+# tar
+# [cargo](https://rustup.rs/)
+$ProgressPreference = 'SilentlyContinue'
+$ErrorActionPreference='Stop'
+$scriptpath = $MyInvocation.MyCommand.Path
+$dir = Split-Path $scriptpath
+
+Push-Location $dir
+
+
+cargo install --locked --no-default-features --features csharp --version 0.30.0 wit-bindgen-cli
+Invoke-WebRequest -Uri https://github.com/WebAssembly/wasi-http/archive/refs/tags/v0.2.1.tar.gz -OutFile v0.2.1.tar.gz
+tar xzf v0.2.1.tar.gz
+cp world.wit wasi-http-0.2.1/wit/world.wit
+wit-bindgen c-sharp -w wasi-poll -r native-aot --internal --skip-support-files wasi-http-0.2.1/wit
+rm -r wasi-http-0.2.1
+rm v0.2.1.tar.gz
+
+Pop-Location
diff --git a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.sh b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.sh
index fd20df8e9df20..f722aeaa668fb 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.sh
+++ b/src/libraries/System.Private.CoreLib/src/System/Threading/Wasi/generate-wasi-poll-bindings.sh
@@ -11,7 +11,7 @@ set -ex
# [cargo](https://rustup.rs/)
# [curl](https://curl.se/download.html)
-cargo install --locked --no-default-features --features csharp --version 0.29.0 wit-bindgen-cli
+cargo install --locked --no-default-features --features csharp --version 0.30.0 wit-bindgen-cli
curl -OL https://github.com/WebAssembly/wasi-http/archive/refs/tags/v0.2.1.tar.gz
tar xzf v0.2.1.tar.gz
cat >wasi-http-0.2.1/wit/world.wit <