記事一覧

Xamarin 4.7.10.22 をインストールして動作検証してみました | Xamarin


今回は Android8.0 Oreo に対応したという Xamarin 4.7.10.22 をインストールして検証してみました。
Visual Studio を起動し、既存のソリューションを読み込んだところで早速エラーが出ました。毎度のこと、わかってはいますが、テストしたんですか?とあきれてしまいます。



前提条件
・Windows10 Pro 64Bit
・Visual Studio 2015 Community Update3
・Xamarin 4.7.9.45 (NuGet Xamarin.Forms 2.4.0.282)
・macOS Sierra 10.12.6 / Xcode9 / Xamarin.iOS 11.0.0.0



1.エラーの内容

Visual Studio 2015 を起動してソリューションを読み込んだ時点で、以下のようなエラーが発生します。
’XamarinShellPackage’ パッケージは正しく読み込まれませんでした。
構成の変更または別の拡張機能のインストールが原因で問題が発生している可能性があります。ファイル 'C:\Users\UserName\AppData\Roaming\Microsoft\VisualStudio\14.0\ActivityLog.xml' を調べると、より詳細な情報を取得することができます。
Visual Studio を再起動するとこの問題を解決できる可能性があります。
引き続きこのエラーメッセージを表示しますか?

xamarin_471022_01.png


言われるがまま VisualStudio を再起動したところフリーズしてしまいました。。。

ActivityLog.xmlの内容は以下の通りでした。
  <entry>
    <record>550</record>
    <time>2017/10/20 15:03:11.721</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>LegacySitePackage failed for package [XamarinAndroidPackage]Source: &apos;Xamarin.VisualStudio&apos; Description: &#x30AA;途中省略;System.NullReferenceException: &#x30AA;途中省略 Clide.Diagnostics.UserTraceExtensions.UserError(ITracer tracer, Exception exception, String format, Object[] args) &#x5834;&#x6240; C:\d\lanes\5156\fe36becf\source\xamarinvs\src\Core\VisualStudio\Diagnostics\UserTraceExtensions.cs:&#x884C; 77&#x000D;&#x000A;   &#x5834;&#x6240; Xamarin.VisualStudio.Android.XamarinAndroidPackage.Initialize() &#x5834;&#x6240; C:\d\lanes\5156\fe36becf\source\xamarinvs\src\Core\VisualStudio.Android\XamarinAndroidPackage.cs:&#x884C; 170&#x000D;&#x000A;   &#x5834;&#x6240; Microsoft.VisualStudio.Shell.Package.Microsoft.VisualStudio.Shell.Interop.IVsPackage.SetSite(IServiceProvider sp)</description>
    <guid>{GUID}</guid>
    <hr>99999999 - E_POINTER</hr>
    <errorinfo></errorinfo>
  </entry>
  <entry>
    <record>551</record>
    <time>2017/10/20 15:03:11.723</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>SetSite failed for package [XamarinAndroidPackage](null)</description>
    <guid>{GUID}</guid>
    <hr>99999999 - E_POINTER</hr>
    <errorinfo></errorinfo>
  </entry>
  <entry>
    <record>552</record>
    <time>2017/10/20 15:03:16.298</time>
    <type>Error</type>
    <source>VisualStudio</source>
    <description>End package load [XamarinAndroidPackage]</description>
    <guid>{GUID}</guid>
    <hr>99999999 - E_POINTER</hr>
    <errorinfo></errorinfo>
  </entry>

私には意味不明でわかりません。

既にこのバグ情報はフォーラムで騒がれています。
https://forums.xamarin.com/discussion/104657/current-release-15-4-feature-release


2017/11/01追記
Xamarin 4.7.10.33 でも同様の現象でした。
2017/11/24追記
Xamarin 4.7.10.38 でも同様の現象でした。



2.対応方法

(1)新規ソリューションは作成&実行が可能ですが、作成したソリューションのうちAndroidプロジェクトのフォルダが削除できませんでした。OSを再起動したところ削除ができました。

(2)既存ソリューションについてはソリューションフォルダの直下にある .vsフォルダ(隠しフォルダ)を削除したところ、VisualStudio が正常に起動でき、正常にAndroid/iOSアプリを起動することはできました。

(3)他の既存ソリューションは正常に VisualStudio が起動したのですが、iOSアプリでまれに画面遷移時にフリーズしていました。次に VisualStudio を再起動しましたが、ソリューションのロード時にフリーズしました。この現象も .vsフォルダを削除したところ正常に動作するようになりました。



3.新機能

新機能については 大まかには以下の通りです。
(1)iOSプロジェクトにおいて、Background Fetchをシミュレートする機能が追加になっています。
(2)Xamarin Live Player の機能を有効にする設定が以下の画面に追加されています。
ツールメニュー>オプション>Xamarin>その他
(3)Android 8.0 Oreo に正式対応の様です。
Androidのプロジェクトは指定していない場合、ターゲットフレームワークが Android 8.0に自動的に変更になります。

xamarin_471022_02.png


Android 8.0 Oreo のエミュレータを起動する設定方法につきましては次回の記事でご紹介していますので、ご参考ください。

※ただし、VSからの起動ができていません。現在調査中です。
VSの出力ウィンドウに以下のようなログが出力されます。 

2>Android8 の配置を開始しています...
2>エミュレーター Android8 を起動しています...
2>C:\Android\ANDROI~1\tools\emulator.EXE -partition-size 512 -no-boot-anim -avd Android8 -prop monodroid.avdname=Android8
2>Hax is enabled
2>Hax ram_size 0x7e800000
2>HAX is working and emulator runs in fast virt mode.
2>audio: Failed to create voice `goldfish_audio_in'
2>qemu-system-i386.exe: warning: opening audio input failed
2>emulator: Listening for console connections on port: 5554
2>emulator: Serial number of this emulator (for ADB): emulator-5554


emulator.exe のコマンドパラメータで -no-boot-anim というパラメータがありますが、コマンドプロンプトからはそのパラメータを除外して実行するとAndroid 8.0 Oreo が起動することを確認しています。



4.その他の不具合について

Google PlayにアーカイブしてUpする際に以下のようなエラーが発生します。
Google Play ストア: 認証
'Google.Apis.Json.NewtonsoftJsonSeirializer' のタイプ初期化子が例外をスローしました。

次のバージョンアップまでしばらく手動でアップしなければならないようです。



最後までお読みいただきありがとうございます。
当ブログの内容をまとめた Xamarin逆引きメニュー は以下のURLからご覧になれます。
http://itblogdsi.blog.fc2.com/blog-entry-81.html


関連記事

コメント

コメントの投稿

カテゴリ別記事一覧

広告

プロフィール

石河 純


著者名 :石河 純
自己紹介:素人上がりのIT技術者。趣味は卓球・車・ボウリング

IT関連の知識はざっくりとこんな感じです。
【OS関連】
WindowsServer: 2012/2008R2/2003/2000/NT4
Windows: 10/8/7/XP/2000/me/NT4/98
Linux: CentOS RedHatLinux9
Mac: macOS Sierra 10.12 / OSX Lion 10.7.5 / OSX Snow Leopard 10.6.8
【言語・データベース】
VB.net ASP.NET C#.net Java VBA
Xamarin.Forms
Oracle10g SQLServer2008R2 SQLAnywhere8/11/16
ActiveReport CrystalReport ReportNet(IBM)
【ネットワーク関連】
CCNP シスコ技術者認定
Cisco Catalyst シリーズ
Yamaha RTXシリーズ
FireWall関連
【WEB関連】
SEO SEM CSS IIS6/7 apache2

休みの日は卓球をやっています。
現在、卓球用品通販ショップは休業中です。