.net8.0正式版 升級 拿以前的項(xiàng)目測試aot編譯踩坑筆記 又棄坑

之前測試失敗,應(yīng)該是雖然運(yùn)行時是8.0但是平臺沒有指定8.0導(dǎo)致登钥,
環(huán)境檢查

C:\src\netcorapibase>dotnet --info
.NET SDK:
 Version:           8.0.100
 Commit:            57efcf1350
 Workload version:  8.0.100-manifests.3b83835e

運(yùn)行時環(huán)境:
 OS Name:     Windows
 OS Version:  10.0.19045
 OS Platform: Windows
 RID:         win-x64
 Base Path:   C:\Program Files\dotnet\sdk\8.0.100\

已安裝 .NET 工作負(fù)載:
 Workload version: 8.0.100-manifests.3b83835e
沒有要顯示的已安裝工作負(fù)載。

Host:
  Version:      8.0.0
  Architecture: x64
  Commit:       5535e31a71

.NET SDKs installed:
  5.0.405 [C:\Program Files\dotnet\sdk]
  7.0.104 [C:\Program Files\dotnet\sdk]
  7.0.202 [C:\Program Files\dotnet\sdk]
  8.0.100 [C:\Program Files\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.2 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.4 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 7.0.14 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.4 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 7.0.14 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.1.22 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 6.0.25 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.4 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 7.0.14 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 8.0.0 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]

Other architectures found:
  x86   [C:\Program Files (x86)\dotnet]
    registered at [HKLM\SOFTWARE\dotnet\Setup\InstalledVersions\x86\InstallLocation]

Environment variables:
  Not set

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

C:\src\netcorapibase>

項(xiàng)目指定環(huán)境,<TargetFramework>net8.0</TargetFramework>

    <PropertyGroup>
        <PublishAot>true</PublishAot>
        <TargetFramework>net8.0</TargetFramework>
        <Nullable>enable</Nullable>
        <Platforms>AnyCPU;x64</Platforms>
        <StripSymbols>true</StripSymbols>
        <UserSecretsId>37c2da8e-4c70-4b1a-b525-dc02325e9e4c</UserSecretsId>
        <OutputType>Exe</OutputType>
<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>
        <Configurations>xxx</Configurations>
    </PropertyGroup>

直接不aot,直接調(diào)試模式運(yùn)行

 Reflection-based serialization has been disabled for this application. Either use the source generator APIs or explicitly configure the 'JsonSerializerOptions.TypeInfoResolver' property.

解決辦法
msbuild配置加上


<JsonSerializerIsReflectionEnabledByDefault>true</JsonSerializerIsReflectionEnabledByDefault>

具體參考微軟博客提供的信息如下:
https://devblogs.microsoft.com/dotnet/system-text-json-in-dotnet-8/

image.png

具體資料鏈接
也就是說默認(rèn)就禁用了反射默認(rèn)值, 把它開啟就可以解決。

我aot編譯比較喜歡用的方式

dotnet publish 你的項(xiàng)目.csproj -r win-x64 -c CHANNEL

出現(xiàn)

Swashbuckle.AspNetCore.Filters.AddResponseHeadersFilter' could not be located
 for type 'Swashbuckle.AspNetCore.Filters.AddResponseHeadersFilter' could not be located. Ensure the type is concrete and all parameters of a public constructor are either registered as services or passed as arguments. Also ensure no extraneous arguments are provided.
         at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.FindApplicableConstructor(Type, Type[], ConstructorInfo&, Nullable`1[]&) + 0xa1
         at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider, Type, Object[]) + 0x447

https://github.com/dotnet/aspnetcore/issues/53125
這是我的提問脯厨,經(jīng)過大佬的回答,我發(fā)現(xiàn)不是我想的那么完美

我visual studio新建項(xiàng)目 發(fā)現(xiàn)多了個native aot

D1WR8C77LD1Z@CME`{RT4U6.png

和傳統(tǒng)的坑质,是做了一些改變合武,
dotnet publish直接搞定

也就是說要完美兼容,他的demo就是完美的涡扼,沒有controller稼跳,也就是說controller就是mvc的那套,所以不支持的


image.png

他的demo的一些地方就是aot的源生成

image.png

而slimbuilder進(jìn)行了特殊處理吃沪,更兼容一些汤善。
xxx

參考
https://learn.microsoft.com/zh-cn/aspnet/core/fundamentals/native-aot?view=aspnetcore-8.0#aspnet-core-and-native-aot-compatibility

image.png

所以正如我那提問 然后大佬說的,就算碰巧支持,那也是不分支持

xxx

不過呢红淡,進(jìn)行aot后變成單文件不狮,普通人是無法進(jìn)行逆向了,我認(rèn)為目的已經(jīng)達(dá)到了
另外沒有controller在旱,就要自行研究 怎么封裝auth授權(quán)等東西了摇零。
jwt目前是有了,但是沒有以前那套還是差了點(diǎn)東西桶蝎,先暫時觀望吧

還有 0% 的精彩內(nèi)容
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
支付 ¥1.00 繼續(xù)閱讀
  • 序言:七十年代末驻仅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子登渣,更是在濱河造成了極大的恐慌噪服,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,183評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绍豁,死亡現(xiàn)場離奇詭異,居然都是意外死亡牙捉,警方通過查閱死者的電腦和手機(jī)竹揍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來邪铲,“玉大人芬位,你說我怎么就攤上這事〈剑” “怎么了昧碉?”我有些...
    開封第一講書人閱讀 168,766評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長揽惹。 經(jīng)常有香客問我被饿,道長,這世上最難降的妖魔是什么搪搏? 我笑而不...
    開封第一講書人閱讀 59,854評論 1 299
  • 正文 為了忘掉前任狭握,我火速辦了婚禮,結(jié)果婚禮上疯溺,老公的妹妹穿的比我還像新娘论颅。我一直安慰自己,他們只是感情好囱嫩,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評論 6 398
  • 文/花漫 我一把揭開白布恃疯。 她就那樣靜靜地躺著,像睡著了一般墨闲。 火紅的嫁衣襯著肌膚如雪今妄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,457評論 1 311
  • 那天,我揣著相機(jī)與錄音蛙奖,去河邊找鬼潘酗。 笑死,一個胖子當(dāng)著我的面吹牛雁仲,可吹牛的內(nèi)容都是我干的仔夺。 我是一名探鬼主播,決...
    沈念sama閱讀 40,999評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼攒砖,長吁一口氣:“原來是場噩夢啊……” “哼缸兔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起吹艇,我...
    開封第一講書人閱讀 39,914評論 0 277
  • 序言:老撾萬榮一對情侶失蹤惰蜜,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后受神,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體抛猖,經(jīng)...
    沈念sama閱讀 46,465評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評論 3 342
  • 正文 我和宋清朗相戀三年鼻听,在試婚紗的時候發(fā)現(xiàn)自己被綠了财著。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,675評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡撑碴,死狀恐怖撑教,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情醉拓,我是刑警寧澤伟姐,帶...
    沈念sama閱讀 36,354評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站亿卤,受9級特大地震影響愤兵,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜排吴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評論 3 335
  • 文/蒙蒙 一恐似、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧傍念,春花似錦矫夷、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,514評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至阳仔,卻和暖如春忧陪,著一層夾襖步出監(jiān)牢的瞬間扣泊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,616評論 1 274
  • 我被黑心中介騙來泰國打工嘶摊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留延蟹,地道東北人。 一個月前我還...
    沈念sama閱讀 49,091評論 3 378
  • 正文 我出身青樓叶堆,卻偏偏與公主長得像阱飘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子虱颗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評論 2 360

推薦閱讀更多精彩內(nèi)容