#c# #.net #xamarin.ios #.net-6.0
Вопрос:
Я пытаюсь создать и запустить собственное приложение iOS с использованием .net 6.0.100 (RC1). Я не использую МАУИ. Я использую как Visual Studio 2022 для Mac, так и Jetbrains’ Rider. Приложение является приложением по умолчанию. .csproj
Файл выглядит так:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net6.0-ios14.0</TargetFramework>
<SupportedOSPlatformVersion>14.0</SupportedOSPlatformVersion>
<RuntimeIdentifier>iossimulator-x64</RuntimeIdentifier>
<AssemblyName>Application.iOS</AssemblyName>
<RootNamespace>Application.iOS</RootNamespace>
<LangVersion>default</LangVersion>
<Nullable>enable</Nullable>
<OutputType>Exe</OutputType>
</PropertyGroup>
</Project>
Я могу успешно создать приложение, но не могу его запустить:
Cannot use file stream for [/Users/xxx/Application/src/Application.iOS/bin/iPhoneSimulator/Debug/net6.0-ios14.0/iossimulator-x64/Application.iOS.deps.json]: No such file or directory
A fatal error was encountered. The library 'libhostpolicy.dylib' required to execute the application was not found in '/Users/xxx/Application/src/Application.iOS/bin/iPhoneSimulator/Debug/net6.0-ios14.0/iossimulator-x64/'.
Failed to run as a self-contained app.
- The application was run as a self-contained app because '/Users/xxx/Application/src/Application.iOS/bin/iPhoneSimulator/Debug/net6.0-ios14.0/iossimulator-x64/Application.iOS.runtimeconfig.json' did not specify a framework.
- If this should be a framework-dependent app, specify the appropriate framework in '/Users/xxx/Application/src/Application.iOS/bin/iPhoneSimulator/Debug/net6.0-ios14.0/iossimulator-x64/Application.iOS.runtimeconfig.json'.
Вот содержимое файла Application.iOS.runtimeconfig.json
:
{
"runtimeOptions": {
"tfm": "net6.0",
"includedFrameworks": [
{
"name": "Microsoft.NETCore.App",
"version": "6.0.0-rc.1.21451.13"
},
{
"name": "Microsoft.iOS",
"version": "**FromWorkload**"
}
],
"configProperties": {
"System.ComponentModel.TypeConverter.EnableUnsafeBinaryFormatterInDesigntimeLicenseContextSerialization": false,
"System.Diagnostics.Debugger.IsSupported": true,
"System.Diagnostics.Tracing.EventSource.IsSupported": false,
"System.Globalization.Invariant": false,
"System.Net.Http.EnableActivityPropagation": false,
"System.Net.Http.UseNativeHttpHandler": true,
"System.Resources.ResourceManager.AllowCustomResourceTypes": false,
"System.Resources.UseSystemResourceKeys": false,
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false,
"System.StartupHookProvider.IsSupported": false,
"System.Threading.Thread.EnableAutoreleasePool": true,
"System.Text.Encoding.EnableUnsafeUTF7Encoding": false
}
}
}
Я знаю, что libhostpolicy.dylib
файл существует в dotnet
папке установки. Я скопировал файл и вместо этого получил эту ошибку:
/usr/local/share/dotnet/dotnet /Users/***/Application/src/Application.iOS/bin/iPhoneSimulator/Debug/net6.0-ios14.0/iossimulator-x64/Application.iOS.dll
Cannot use file stream for [/Users/***Application/src/Application.iOS/bin/iPhoneSimulator/Debug/net6.0-ios14.0/iossimulator-x64/Application.iOS.deps.json]: No such file or directory
Failed to create CoreCLR, HRESULT: 0x80004005
Вопрос
Как я могу запустить встроенное приложение iOS для сборки / запуска на .net 6?
Ответ №1:
Райдер еще не готов запустить приложение iOS на .net6. При этом приложение можно запустить, выполнив следующую команду:
dotnet build -t:run