由于 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 中出现错误。 你有什么想法吗?
删除modernhttpclient-updated包(2.8.0)并添加modernhttpclient包(2.4.2)解决了我的问题。 此致。 克里斯托夫