首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Xamarin.Shared.Sdk.targets(366,3) MessagingRemoteException,AggregateException和NotImplementedException

Xamarin.Shared.Sdk.targets(366,3) MessagingRemoteException,AggregateException和NotImplementedException
EN

Stack Overflow用户
提问于 2022-06-05 16:41:23
回答 1查看 380关注 0票数 2

我正在运行这个命令

代码语言:javascript
运行
复制
dotnet publish -f:net6.0-ios -c:Release

构建.NET MAUI并为iOS创建.ipa文件(最后是.csproj)

我得到了一个错误:

Files\dotnet\packs\Microsoft.iOS.Sdk\15.4.303\targets\ Xamarin.Shared.Sdk.targets(366,3)MessagingRemoteException:在执行主题xvs/ Build /execute-task/ 18e8f3c002fMergeAppBundles C:\Development_BuildPipeline\OnesieMobile\OnesieMobile\OnesieMobile.csproj的回复时发生了错误

C:\ Files\dotnet\packs\Microsoft.iOS.Sdk\15.4.303\targets\ Xamarin.Shared.Sdk.targets(366,3)AggregateException::发生了一个或多个错误。(该方法或操作未实现。)C:\Development_BuildPipeline\Ones ieMobile\OnesieMobile\OnesieMobile.csproj

C:\ Files\dotnet\packs\Microsoft.iOS.Sdk\15.4.303\targets\ Xamarin.Shared.Sdk.targets(366,3)NotImplementedException::NotImplementedException:方法或操作未实现。C:\Development_BuildPipeline\OnesieMobile\OnesieMobile\Ones ieMobile.csproj

C:\程序Files\dotnet\packs\Microsoft.iOS.Sdk\15.4.303\targets\Xamarin.Shared.Sdk.targets(366,3):错误: C:\Develo pment_BuildPipeline\OnesieMobile\OnesieMobile\OnesieMobile.csproj

我成功地完成了将一个应用程序发布到我的IPhone的整个过程,使用VisualStudio2022中的模板附带的演示.NET MAUI应用程序。

我还能够克隆和发布这个项目的https://github.com/jfversluis/dotnet-maui-workshop/tree/main/Part%202%20-%20MVVM,一直到我的IPhone。

所以我想我开始做我自己的项目了。

  • --当我按下Visual中的play按钮并在我的Windows上运行它时,在调试器
  • 中,它在云中的远程iOS模拟器上通过我的机器上的Visual运行得很好。(尽管启动它需要15分钟!)

Environment:

Windows 10家庭,21H2

VS 2022版本17.3.0预览1.1

代码语言:javascript
运行
复制
<Project Sdk="Microsoft.NET.Sdk">

    <PropertyGroup>
        <TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
        <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
        <!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
        <!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->
        <OutputType>Exe</OutputType>
        <RootNamespace>OnesieMobile</RootNamespace>
        <UseMaui>true</UseMaui>
        <SingleProject>true</SingleProject>
        <ImplicitUsings>enable</ImplicitUsings>

        <!-- Display name -->
        <ApplicationTitle>OnesieMobile</ApplicationTitle>

        <!-- App Identifier -->
        <ApplicationId>com.maui.app</ApplicationId>
        <ApplicationIdGuid>447A62C6-2841-41D6-B9AE-444E6E1A908B</ApplicationIdGuid>

        <!-- Versions -->
        <ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
        <ApplicationVersion>1</ApplicationVersion>

        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">14.2</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">14.0</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
        <TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
        <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
    </PropertyGroup>
    
    <PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
        <RuntimeIdentifiers>ios-arm64</RuntimeIdentifiers>
        <CodesignProvision>Maui Provisioning</CodesignProvision>
        <CodesignKey>Apple Distribution: My Name (XXXX)</CodesignKey>

        <ArchiveOnBuild>true</ArchiveOnBuild>
        <TcpPort>58181</TcpPort>
        <ServerAddress>xxxxx</ServerAddress>
        <ServerUser>xxxx</ServerUser>
        <ServerPassword>xxxx</ServerPassword>
        <_DotNetRootRemoteDirectory>/Users/xxxx/Library/Caches/Xamarin/XMA/SDKs/dotnet/</_DotNetRootRemoteDirectory>

    </PropertyGroup>

    <ItemGroup>
        <!-- App Icon -->
        <MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#512BD4" />

        <!-- Splash Screen -->
        <MauiSplashScreen Include="Resources\Splash\splash.svg" Color="#512BD4" BaseSize="128,128" />

        <!-- Images -->
        <MauiImage Include="Resources\Images\*" />
        <MauiImage Update="Resources\Images\dotnet_bot.svg" BaseSize="168,208" />

        <!-- Custom Fonts -->
        <MauiFont Include="Resources\Fonts\*" />

        <!-- Raw Assets (also remove the "Resources\Raw" prefix) -->
        <MauiAsset Include="Resources\Raw\**" LogicalName="%(RecursiveDir)%(Filename)%(Extension)" />
    </ItemGroup>

    <ItemGroup>
      <PackageReference Include="CommunityToolkit.Maui" Version="1.0.0" />
      <PackageReference Include="CommunityToolkit.Mvvm" Version="7.1.2" />
      <PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
    </ItemGroup>

    <ItemGroup>
      <Compile Update="View\ActivityDetailPage.xaml.cs">
        <DependentUpon>ActivityDetailPage.xaml</DependentUpon>
      </Compile>
    </ItemGroup>

    <ItemGroup>
      <MauiXaml Update="View\ActivityDetailPage.xaml">
        <Generator>MSBuild:Compile</Generator>
      </MauiXaml>
      <MauiXaml Update="View\SettingsPage.xaml">
        <Generator>MSBuild:Compile</Generator>
      </MauiXaml>
    </ItemGroup>

</Project>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-05 20:46:54

弄明白了。

我不得不改变

代码语言:javascript
运行
复制
<RuntimeIdentifiers>ios-arm64</RuntimeIdentifiers>

代码语言:javascript
运行
复制
<RuntimeIdentifier>ios-arm64</RuntimeIdentifier>

然后起作用了。

官方文档给出了单数版本的https://learn.microsoft.com/en-us/dotnet/maui/ios/deployment/overview

我之所以改变它,是因为这个Errors with dotnet publish

但后来我也研究了这个error NETSDK1032: The RuntimeIdentifier platform 'ios-arm64' and the PlatformTarget 'x64' must be compatible,这可能是复数形式起作用的最初原因。在*.csproj.user文件中,值被设置为

代码语言:javascript
运行
复制
<RuntimeIdentifier>iossimulator-x64</RuntimeIdentifier>

而且,由于某些原因,项目设置和命令行参数被*.csproj.user文件所否决,因此唯一能够做一些事情的属性是复数形式的属性。

不幸的是,在所有这些错误之后,我无法再判断,如果我真的有一个版本,将发表与复数设置。(我相信我做到了)

简言之:

我跟随documentation

  • it的
  • 是“可能”的*.csproj.user,它搅乱了我的configurations
  • which,然后扰乱了输入

总之,删除并将.csproj设置为类似于以下内容应该是可行的。然后执行

代码语言:javascript
运行
复制
dotnet publish -f:net6.0-ios -c:Release

代码语言:javascript
运行
复制
<Project Sdk="Microsoft.NET.Sdk">
    
        <PropertyGroup>
            <TargetFrameworks>net6.0-android;net6.0-ios;net6.0-maccatalyst</TargetFrameworks>
            <TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net6.0-windows10.0.19041.0</TargetFrameworks>
            <!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
            <!-- <TargetFrameworks>$(TargetFrameworks);net6.0-tizen</TargetFrameworks> -->
            <OutputType>Exe</OutputType>
            <RootNamespace>OnesieMobile</RootNamespace>
            <UseMaui>true</UseMaui>
            <SingleProject>true</SingleProject>
            <ImplicitUsings>enable</ImplicitUsings>
    
            <!-- Display name -->
            <ApplicationTitle>OnesieMobile</ApplicationTitle>
    
            <!-- App Identifier -->
            <ApplicationId>com.maui.app</ApplicationId>
            <ApplicationIdGuid>447A62C6-2841-41D6-B9AE-444E6E1A908B</ApplicationIdGuid>
    
            <!-- Versions -->
            <ApplicationDisplayVersion>1.0</ApplicationDisplayVersion>
            <ApplicationVersion>1</ApplicationVersion>
    
            <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios'">14.2</SupportedOSPlatformVersion>
            <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'maccatalyst'">14.0</SupportedOSPlatformVersion>
            <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">21.0</SupportedOSPlatformVersion>
            <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</SupportedOSPlatformVersion>
            <TargetPlatformMinVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'windows'">10.0.17763.0</TargetPlatformMinVersion>
            <SupportedOSPlatformVersion Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'tizen'">6.5</SupportedOSPlatformVersion>
        </PropertyGroup>
        
        <PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'Release'">
            <RuntimeIdentifier>ios-arm64</RuntimeIdentifier>
            <CodesignProvision>Maui Provisioning</CodesignProvision>
            <CodesignKey>Apple Distribution: My Name (XXXX)</CodesignKey>
    
            <ArchiveOnBuild>true</ArchiveOnBuild>
            <TcpPort>58181</TcpPort>
            <ServerAddress>xxxxx</ServerAddress>
            <ServerUser>xxxx</ServerUser>
            <ServerPassword>xxxx</ServerPassword>
            <_DotNetRootRemoteDirectory>/Users/xxxx/Library/Caches/Xamarin/XMA/SDKs/dotnet/</_DotNetRootRemoteDirectory>
    
        </PropertyGroup>
   
    
    </Project>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72509265

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档