我目前正在从命令行构建我的Xamarmin iOS项目:
MSBuild "C:\code\MyProject.iOS.csproj" /t:Build /p:Configuration=Ad-Hoc;Platform=iPhone;ServerAddress=MACIP;ServerUser=MACUSER
失败并出现以下错误:
没有为项目' MyProject.iOS.csproj'设置OutputPath属性。 请检查以确保您指定了有效组合 该项目的配置和平台。
但是,当我检查CSPROJ时,我设置了一个OutputPath。
我可以通过强制输出" OutputPath"来解决这个问题。命令行中的参数:
OutputPath="C:\builds\xamarin\cellar-ios"
注意: OutputPath="C:\builds\xamarin\cellar-ios\"
不起作用且构建失败(注意以斜杠结尾)
然而,这会创建一个奇怪的文件夹结构,它附加文件名:
关于我在这里做错了什么的想法?我觉得设置非常接近!
修改
使用以下参数,我可以让它工作。注意我仍然需要手动包含OutputPath
,但现在这让我感到理解。
/t:Build /p:Configuration=Ad-Hoc;Platform=iPhone;ServerAddress=SERVER_IP;ServerUser=USER;ServerPassword=PASS;OutputPath=bin\iPhone\Ad-Hoc\
答案 0 :(得分:3)
对于.csproj的任何自定义OutputPath
,应该xbuild/msbuild
内的.csproj
提取,或作为媒体资源提供。
自定义IPA的输出路径可以做的一件事是使用自定义MSBuild目标将IPA复制到您选择的文件夹(如果需要,可以使用移动任务):
即。 (在.csproj
内):
<PropertyGroup>
<CreateIpaDependsOn>
$(CreateIpaDependsOn);
CopyIpa
</CreateIpaDependsOn>
</PropertyGroup>
<Target Name="CopyIpa"
Condition="'$(OutputType)' == 'Exe'
And '$(ComputedPlatform)' == 'iPhone'
And '$(BuildIpa)' == 'true'">
<Copy
SourceFiles="$(IpaPackagePath)"
DestinationFolder="$(OutputPath)"
/>
</Target>
然后将DestinationFolder
设置为所需的输出文件夹。
这可以在我们的知识库文章中找到:https://kb.xamarin.com/customer/portal/articles/2061038-can-i-change-the-output-path-of-the-ipa-file-