移动应用程序:从 Xamarin 迁移到 Net8.0:未启用明文通信

问题描述 投票:0回答:1

由于 Xamarin 终止支持,我必须将 Xamarin/C# 应用程序迁移到 net8.0。我不是 C#、.NET 技术的专家,而且我刚刚对此应用程序进行了一些修改,而且没有同事帮助我。我正在使用 Visual Studio 17.9.6

当我致电

var response = await httpClient.GetAsync(resource);
时,我遇到错误:

客户端未启用 CLEARTEXT 通信

我已经像其他主题所说的那样: 这是清单文件:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="org.mci.mvision" android:versionCode="1" android:versionName="1">
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/MyTheme" android:usesCleartextTraffic="true" android:networkSecurityConfig="@xml/network_security_config"></application>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-sdk android:minSdkVersion="30" android:targetSdkVersion="34" />

这是主要课程:

[Activity(Label = "@string/app_name", MainLauncher = true, Icon = "@mipmap/ic_launcher", LaunchMode = LaunchMode.SingleInstance, ConfigurationChanges = ConfigChanges.Orientation | ConfigChanges.ScreenSize, WindowSoftInputMode = SoftInput.AdjustPan | SoftInput.StateHidden)]
public class MVision : AppCompatActivity

这是安全配置文件:

<network-security-config>
    <base-config cleartextTrafficPermitted="true">
    <trust-anchors>
      <certificates src="system" />
      <certificates src="user" />
    </trust-anchors>
  </base-config>
</network-security-config>

总而言之,这个项目在 Xamarin 中运行得很好,但在 .Net8.0 中出现错误。 你有什么想法吗?

c# android .net cleartext
1个回答
0
投票

删除modernhttpclient-updated包(2.8.0)并添加modernhttpclient包(2.4.2)解决了我的问题。 此致。 克里斯托夫

© www.soinside.com 2019 - 2024. All rights reserved.