为什么我无法将xamarin.ios应用程序部署到设备上?

时间:2018-12-12 23:08:10

标签: c# visual-studio xamarin.ios csproj

我正在使用iOS应用程序(使用在macOS X上的Parallels上运行的Windows 10上的Visual Studio),并设置了用于Ad-hoc部署的配置。不知何故,我无法将应用程序部署到我的iOS设备:部署菜单项根本不存在。

根据不同网站的不同答案中的建议,解决方案通常包括检查配置管理器中的“部署”选项。但是,我面临以下对话框:

Configuration Manager

“部署”选项被禁用。

如下所示,我可以看到我的Visual Studio实例已成功连接到iOS代理,并且手机可见:

Setup

我查看了iOS Ad-hoc文件中的csproj配置部分,但没有发现明显的东西可以启用该选项:

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Ad-Hoc|iPhone' ">
    <DebugType>none</DebugType>
    <Optimize>true</Optimize>
    <OutputPath>bin\iPhone\Ad-Hoc</OutputPath>
    <ErrorReport>prompt</ErrorReport>
    <WarningLevel>4</WarningLevel>
    <ConsolePause>False</ConsolePause>
    <MtouchArch>ARM64</MtouchArch>
    <CodesignEntitlements>Entitlements.plist</CodesignEntitlements>
    <BuildIpa>false</BuildIpa>
    <CodesignProvision>Demo (Ad-hoc)</CodesignProvision>
    <CodesignKey>iPhone Distribution: Christophe --- (X---)</CodesignKey>
    <MtouchExtraArgs>-v -v -v -v --linkskip=Microsoft.EntityFrameworkCore --linkskip=Microsoft.EntityFrameworkCore.Relational --linkskip=Microsoft.EntityFrameworkCore.Sqlite --linkskip=Remotion.Linq --linkskip=Microsoft.Data.Sqlite.Core --linkskip=Microsoft.EntityFrameworkCore.Sqlite.Core --linkskip=Microsoft.Extensions.DependencyInjection.Abstractions --linkskip=Microsoft.Extensions.DependencyInjection --linkskip=Microsoft.Extensions.Logging.Abstractions --linkskip=Microsoft.Extensions.Logging --linkskip=Microsoft.Extensions.Caching.Abstractions --linkskip=Microsoft.Extensions.Caching.Memory --linkskip=Microsoft.Extensions.Options --linkskip=Microsoft.Extensions.Primitives --linkskip=System.Reflection --linkskip=System.Reflection.Primitives --linkskip=System.Linq --linkskip=System.Linq.Expressions --linkskip=System.Linq.Queryable</MtouchExtraArgs>
  </PropertyGroup>

问题

为什么禁用“部署”选项并且可以启用它?

1 个答案:

答案 0 :(得分:1)

请检查Deploy checkboxes disabled in Configuration Manager

从Xamarin 3.5开始,只要按开始工具栏按钮或选择“调试”>“开始调试”菜单项,Xamarin.iOS项目就会自动部署。在运行这些命令之一之前,您仍然需要将所需的Xamarin.iOS应用程序项目设置为StartUp Project。