Windows 版 Xamarin が壊れていたので直したときの備忘録

若干古いバージョンでハマったので備忘録として残しておきます。
ログ残ってないので曖昧ですが Visual Stuido 15.0 だったはず。

$ xcodebuild -sdk -version
iPhoneOS10.3.sdk - iOS 10.3 (iphoneos10.3)
SDKVersion: 10.3

Visual Studio 15.1 (26403.3) で直っていたという報告もあるようなので
まずはアップデート試すといいかもしれません。
なお最新版 Visual Stuido for Mac での新規プロジェクト作成は問題ありませんでした。

Visual Studio for Mac Preview
Version Preview 9 (7.0 build 2943)

Windows 版 Xamarin で新規に [クロスプラットフォームアプリ] の [詳細/マスター] (PCL) で新規プロジェクトを作っても iOS がビルドできませんでした。
これは Visual Studio とテンプレートにそれぞれ問題があります。
リモートの Mac に繋いで iPhoneSimulator で実行しようとした場合。実行方法は割愛。

Visual Stuido を直す

Error The root assembly conflicts with another assembly

フォーラム を参考に Xamarin.iOS.Common.After.targets ファイルを修正します。
自分の環境では C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\Xamarin\iOS\Xamarin.iOS.Common.After.targets でした。

line 73:
-      <_ReferencedDlls Include="@(AllBuiltProjectOutputs);" />
-      <_Assemblies Include="@(MainAssembly);@(_ReferencedDlls)" />
+      <_Assemblies Include="@(AllBuiltProjectOutputs)" />
 
line 85:
-      <MTouchReferencePath Include="@(_Assemblies)" />
+      <!-- Don't append as an MTouchReferencePath the primary assembly itself since that's already passed as MainAssembly="$(TargetPath)" -->
+      <MTouchReferencePath Include="@(_Assemblies)"
+                           Condition="'%(_Assemblies.IsKeyOutput)' != 'true'" />

テンプレートを直す

error : The file 'Resources/LaunchScreen.storyboard' conflicts with 'LaunchScreen.storyboard'.

Bug 53845 – Build error: The file ‘LaunchScreen.storyboard’ conflicts with ‘Resources/LaunchScreen.storyboard’
LaunchScreen.storyboard がプロジェクト直下と Resources フォルダの下に
2重に存在しているので Resources フォルダ下のものを消す。


カテゴリー: Xamarin パーマリンク