Xamarin.iOS で System.ValueTuple を解決できない
このエラーは、Visual Studio との互換性がないために発生します。
Visual Studio 2017 Update 1 (バージョン 15.1 以前) は、System.ValueTuple NuGet 4.3.0 (またはそれ以前) とのみ互換性があります。
Visual Studio 2017 Update 2 (バージョン 15.2 以降) は、System.ValueTuple NuGet 4.3.1 以降とのみ互換性があります。
Visual Studio 2017 のインストールに対応する適切な System.ValueTuple NuGet を選択します。
"更新情報の取得中にエラーが発生しました" というエラー メッセージが表示される
ソフトウェアを更新しようとすると、このエラー メッセージが表示されたら、IDE を再起動してみてください。 失敗した場合は、ログアウトしてから、IDE 内のアカウントに再度ログインしてみてください。
インターフェイス ビルダー操作方法アウトレットまたはアクションを作成しますか?
IBでアウトレットとアクションを使用する方法の詳細については、Appleの アウトレット と アクション ガイドを参照してください。
System.Text.Encoding.GetEncoding が NotSupportedException をスローする
既定では追加されないエンコードを使用している可能性があります。 さらにエンコードの サポートを追加する方法については、「国際化 」ページを参照してください。
System.MissingMethodException (その他)
メンバーはリンカーによって削除された可能性が高く、実行時にアセンブリに存在しません。 このエラーにはいくつかの解決策があります。
- メンバーに
[Preserve]
属性を追加します。 この属性により、リンカーが削除できなくなります。 - mtouch を呼び出すときは、-nolink または -linksdkonly オプションを使用します。
- -nolink では、すべてのリンクが無効になります。
- -linksdkonly は、ユーザーが作成したアセンブリ (つまりアプリ プロジェクト) 内のすべての型を保持しながら、Xamarin.iOS で提供されるアセンブリ (xamarin.ios.dll など) のみをリンクします。
結果の実行可能ファイルが小さくなり、アセンブリがリンクされます。 リンクを無効にすると、望ましいよりも大きな実行可能ファイルが生成される可能性があります。
ModelNotImplementedException を取得しています
この例外は、ベースを呼び出していることを意味します。Model をオーバーライドするクラスのメソッド ()。 モデル ([Model] 属性でフラグが設定されたクラス) のクラスで基本メソッドを呼び出す必要はありません。
このクラスは、キー XXXX のキー値のコーディングに準拠していません
NIB ファイルの読み込み時にこのエラーが発生した場合は、マネージド クラスで XXXX 値が見つからなかったことを意味します。 次のような宣言がありません。
[Connect]
TypeName XXXX {
get {
return (TypeName) GetNativeField ("XXXX");
}
set {
SetNativeField ("XXXX", value);
}
}
上記の定義は、Visual Studio for Mac で Visual Studio for Mac に追加した XIB ファイルに対して Visual Studio for Mac によって自動的に NAME_OF_YOUR_XIB_FILE.designer.xib.cs
生成されます。
さらに、上記のコードを含む型は NSObject のサブクラスである必要があります。 含まれる型が名前空間内にある場合は、[Register] 属性も必要です。これは、名前空間のない型名を提供します (Interface Builder では型の名前空間がサポートされていないため)。
namespace Samples.GLPaint {
// The [Register] attribute overrides the type name registered
// with the Objective-C runtime, in this case removing the namespace.
[Register ("AppDelegate")]
public class AppDelegate {/* ... */}
}
インターフェイス ビルダー ファイルの不明なクラス XXXX
このエラーは、インターフェイス ビルダー ファイルでクラスを定義するときに発生しますが、C# コードに実際の実装は含まれません。
次のようなコードを追加します。
public partial class MyImageView : UIView {
public MyImageView (IntPtr handle) : base (handle {}
}
System.MissingMethodException: Foo.Bar::ctor(System.IntPtr) のコンストラクターが見つかりません
このエラーは、Interface Builder ファイルから参照されるクラスのインスタンスをインスタンス化するときに実行時に発生します。 このエラーは、単一の IntPtr をパラメーターとして受け取るコンストラクターが見つからないことを意味します。
IntPtr ハンドルを持つコンストラクターは、マネージド オブジェクトをアンマネージド表現にバインドするために使用されます。
このエラーを修正するには、クラス Foo.Bar に次のコード行を追加します。
public Bar (IntPtr handle) : base (handle) { }
型 {Foo} に定義 GetNativeField
が含まれていないため、{Foo} 型の拡張メソッド GetNativeField
が見つかりませんでした
デザイナーで生成されたファイル (*.xib.designer.cs) でこのエラーが発生した場合は、次の 2 つのいずれかを意味します。
1) 部分クラスまたは基底クラスがない
デザイナーによって生成される部分クラスには、多くの場合UIViewController
、いくつかのサブクラスから継承するユーザー コード内のNSObject
対応する部分クラスが必要です。 エラーを発生している型に対してこのようなクラスがあることを確認します。
2) 既定の名前空間が変更されました
デザイナー ファイルは、プロジェクトの既定の名前空間設定を使用して生成されます。 部分クラスで生成された名前空間は、これらの設定を変更したり、プロジェクトの名前を変更したりすると変更される可能性があります。 生成された部分クラスは、ユーザー コードの対応するクラスと同じ名前空間に存在しなくなります。
名前空間の設定は、[プロジェクト オプション] ダイアログにあります。 既定の名前空間は、[全般>- メイン] 設定 セクションにあります。 プロジェクトの名前は、空白の場合は既定値として使用されます。 名前空間の詳細設定の詳細については 、「ソース コード->.NET 名前付けポリシー」セクションを 参照してください。
アクションの警告: プライベート メソッド 'Foo' は使用されません。 (CS0169)
インターフェイス ビルダー ファイルのアクションは、実行時にリフレクションによってウィジェットに接続されるため、この警告が予想されます。
これらのメソッドに対してこの警告を抑制する場合は、アクションの周囲に "#pragma 警告の無効化 0169" "#pragma 警告を有効にする 0169" を使用できます。 プロジェクト全体で無効にする場合 (推奨されません)、コンパイラ オプションの [警告を無視する] フィールドに 0169 を追加します。
mtouch が次のメッセージで失敗しました:アセンブリ '/path/to/yourproject.exe' を開くことができません
このエラー メッセージが表示される場合、通常、問題はプロジェクトへの絶対パスにスペースが含まれていることです。 この問題は、Xamarin.iOS の将来のバージョンで修正される予定です。 プロジェクトをスペースのないフォルダーに移動することで、この問題を回避できます。
sqlite3 のバージョンが古い - v3.5.0 以降にアップグレードしてください。
このメッセージは、次のすべてが当てはまる場合に発生します。
- プロジェクトで Mono.Data.Sqlite を参照する
- Mac が macOS X レオパード (10.5) を実行している
- シミュレーター内でアプリを実行します。
問題は、Monoがi電話Simulatorのlibsqlite3.dylib
ファイルではなく、OS Xlibsqlite3.dylib
を取得していることです。 アプリ は デバイスで動作しますが、シミュレーターでは動作しません。
System.Exception: AMDeviceInstallApplication が返され、デバイスへの展開が失敗3892346901
このエラーは、証明書またはバンドル ID のコード署名構成が、デバイスにインストールされているプロビジョニング プロファイルと一致しないことを意味します。 Project Options-i>電話 Bundle Signing で適切な証明書が選択され、Project Options-i>電話 Application で指定された正しいバンドル ID があることを確認します。
Visual Studio for Mac でコード補完が機能しない
最新バージョンの Visual Studio for Mac と Xamarin.iOS を使用していることを確認します
問題が解決しない場合は、バグを報告し、~/Library/Logs/XamarinStudio-{VERSION}/Ide-{TIMESTAMP}.log、AndroidTools-{TIMESTAMP}.log、Components-{TIMESTAMP}.logログ ファイルを添付します。
他のすべてが失敗した場合は、コード補完キャッシュを削除して再生成することができます。
[rm -r ~/.config/XamarinStudio-{VERSION}/CodeCompletionData]
このコマンドを正しく入力するか、重要なファイルを誤って削除する可能性があります。
テキストをコピーすると Visual Studio for Mac がクラッシュする
一般的な Mac ユーティリティ QuickSilver、Google Toolbar、LaunchBar には、Visual Studio for Mac のメモリを破損するクリップボード機能があります。 これらのオプションでは、Visual Studio for Mac を、干渉してはならないプロセスとして一覧表示できます。
Visual Studio for Mac で Mono 2.4 が必要に関して不平を言う
Visual Studio for Mac を更新し、Visual Studio for Mac をもう一度起動しようとすると、Mono 2.4 が存在しないというメッセージが表示される場合は、Mono 2.4 のインストール をアップグレードします。
Mono 2.4.2.3_6 では、Visual Studio for Mac の実行が確実に行われず、起動時に Visual Studio for Mac がハングしたり、コード補完データベースが生成されないなどの重要な問題が修正されています。
新しい Mono をインストールすると、Visual Studio for Mac が想定どおりに起動します。
アサーション (../../../../mono/metadata/generic-sharing.c:704、 条件 'oti' が満たされていません
次のスタック トレースを受信している場合:
- Assertion at ../../../../mono/metadata/generic-sharing.c:704, condition `oti' not met
Stacktrace:
at System.Collections.Generic.List`1<object>..cctor () <0xffffffff>
at System.Collections.Generic.List`1<object>..cctor () <0x0001c>
at (wrapper runtime-invoke) object.runtime_invoke_dynamic (intptr,intptr,intptr,intptr) <0xffffffff>`
これは、サム コードでコンパイルされたスタティック ライブラリをプロジェクトにリンクしていることを意味します。 i電話 SDK リリース 3.1 (この執筆時点以降) では、Apple は、Thumb 以外のコード (Xamarin.iOS) と Thumb コード (静的ライブラリ) をリンクするときに、リンカーにバグを導入しました。 この問題を軽減するには、静的ライブラリの Thumb 以外のバージョンとリンクする必要があります。
System.ExecutionEngineException: JIT コンパイル メソッドの試行 (ラッパーマネージドからマネージド) Foo[]:System.Collections.Generic.ICollection'1.get_Count ()
[] サフィックスは、IEnumerable<>、ICollection<> 、IList<> などのジェネリック コレクションを介して、自分またはクラス ライブラリが配列のメソッドを呼び出していることを示します。 回避策として、メソッドを自分で呼び出すことで、AOT コンパイラにメソッドを明示的に含めさせることができます。 例外をトリガーした呼び出しの前に、このコードが実行されていることを確認します。 この場合は、次のように記述できます。
Foo [] array = null;
int count = ((ICollection<Foo>) array).Count;
これによって、AOT コンパイラに get_Count メソッドが強制的に含められます。
Visual Studio for Mac のソース エディターが非常に遅い
Visual Studio for Mac のソース エディターが非常に遅くなり、文字を入力する間に数秒間ハングしているように見えることがあります。
この問題は非常にまれで、再現が非常に困難です。 通常、Visual Studio for Mac を再起動した後、同じコンピューター上で再現することはできません。 このため、Visual Studio for Mac を再起動する前にいくつかのデバッグ手順を実行し、結果を Microsoft に送信できれば幸いです。
- エディター タブを閉じてから、もう一度開いてみます。 減速が再び起こるまで、キャレットを編集したり移動したりする必要がありますか?
- "Quartz Debug" 開発者ツール (Spotlight を使用して見つけることができます) を使用して "ビーム同期" を無効にし、ソース エディターのパフォーマンスが正常に復元されるかどうかをチェックします。
- ビーム同期を無効にしたまま、手順 (1) を繰り返してみてください。
- エディターが数秒以上ハングする場合は、ハングしている間にターミナルで "killall -QUIT [Visual Studio for Mac]" を実行してみてください。 エディターがハングしている間に kill コマンドを実行するのは困難な場合がありますが、これを行う必要があります。 このコマンドは、Mono にすべてのスレッドのスタック トレースを MD ログに書き込むよう強制します。 ログを使用して、Visual Studio for Mac がハングしている間のスレッドの状態を検出できます。
XS ログ 、~/Library/Logs/XamarinStudio-{VERSION}/Ide-{TIMESTAMP}.log、AndroidTools-{TIMESTAMP}.log、Components-{TIMESTAMP}.log (以前のバージョンの XS/MonoDevelop では、~/Library/Logs/MonoDevelop-(3.0|2.8|2.6)/MonoDevelop.logを送信するだけです)。
Note
上記の問題は XS 2.2 Final** で修正されました**
コンパイル済みアプリケーションが非常に大きい
デバッグをサポートするために、デバッグ ビルドには追加のコードが含まれています。 リリース モードでビルドされたプロジェクトは、サイズのごく一部です。
Xamarin.iOS 1.3 以降、デバッグ ビルドには Mono のすべてのコンポーネント (フレームワークのすべてのクラスのすべてのメソッド) のデバッグサポートが含まれています。
Xamarin.iOS 1.4 では、デバッグのためのより細かい方法を導入します。 既定では、すべての Mono アセンブリではなく、コードとライブラリのデバッグ インストルメンテーションが 提供されます。 すべての Mono アセンブリにデバッグ インストルメンテーションを提供することを選択する 必要があります。
インストールハング
i電話 シミュレーターが実行されている場合、Mono と Xamarin.iOS の両方のインストーラーがハングします。 この問題は、Mono または Xamarin.iOS に限定されるわけではありません。 この問題は、i電話シミュレーターがインストール中に実行されている場合にmacOS Snow Leopardにソフトウェアをインストールしようとするソフトウェア間で一貫しています。
i電話 シミュレーターを終了し、インストールを再試行してください。
デバッガーがデバイスに接続できない
デバイス構成のデバッグを開始すると、アプリケーションに接続しようとしていることを示すダイアログがデバッガーに表示されます。 デバッガーがアプリケーションに接続できない理由は、接続に使用しているモード (USB または WiFi) によって異なります。
デバイスとデバッガー ホストが異なるネットワーク上にある場合、ファイアウォールまたはプライベート ネットワークによって、アプリケーションが WiFi モードでデバッガー ホストに接続できなくなる可能性があります。
Visual Studio for Mac では、ホストの正しい IP に対してクエリを実行できない場合があります。 WiFi モードの Visual Studio for Mac では、ホストから見つけることができるすべての IP がアプリケーションに提供されます。 アプリケーションは、それらすべてを試して、Visual Studio for Mac に接続するためにいずれかを使用できるかどうかを確認します。
別のデバイスがホスト上の USB ポートに接続されています。 場合によっては、ホスト上の USB ポートに接続されている他のデバイスが、何らかの形で USB モードでのデバッグを妨げることがわかっています。
WiFiまたはUSBモードが動作しない場合は、簡単にもう一方を試すことができます。 Visual Studio for Mac で[環境設定]を開き、[環境設定]/[デバッガー]/[デバッガー電話]ページに移動し、[USB 経由ではなく WiFi 経由で iOS デバイスをデバッグする]チェック ボックスを切り替えます。 どちらも機能しない場合は、詳細モードのデバイス コンソールでエラーの詳細を確認できます (プロジェクトのオプションの追加の mtouch 引数に "-v -v"を追加することで有効になります)。
エラー 134: mtouch が失敗し、次のメッセージが表示されました。
Xamarin.iOS 1.4 スタイルのリリースで -nolink を使用してビルドしようとすると、このエラーが発生する可能性があります。 このエラーを回避するには、Monodevelop プロジェクト構成で Extra Arguments を指定します。
引数を追加する
-nosymbolstrip
問題を解決する必要があります。
Visual Studio for Mac プロジェクト署名オプションに配布 ID が表示されない
Visual Studio for Mac 2.2 には、コンマを含む配布証明書が検出されないバグがあります。 Visual Studio for Mac 2.2.1 に更新します。
アップロード中にエラー "AFCFileRefWrite returned: 1" (AFCFileRefWrite が返されました: 1)
アプリをデバイスにアップロードしているときに、"AFCFileRefWrite returned: 1" というエラーが表示されることがあります。 このエラーは、長さ 0 のファイルがある場合に発生する可能性があります。
エラー "mtouch failed with no output" (出力なしで mtouch が失敗しました)
Xamarin.iOS と Visual Studio for Mac の現在のリリースは、プロジェクト名またはソリューションまたはプロジェクトが格納されているディレクトリにスペースが含まれている場合に失敗します。 この問題を解決するには:
- プロジェクトとプロジェクトが格納されているディレクトリにスペースが含まれていないことを確認します。
- プロジェクトの "メイン 設定" で、プロジェクト名にスペースが含まれていないことを確認します。
エラー "アップロードしたバイナリが無効でした。 SDK のプレリリース ベータ バージョンを使用してアプリケーションをビルドしました"
このエラーは通常、Xamarin.iOS 2.0.0 がリリースされる前に iPad 開発で開始されたプロジェクトで発生します。 Info.plist には、次のようなキーが含まれる可能性があります。
<key>UIDeviceFamily</key>
<array>
<string>1</string>
</array>
Visual Studio for Mac で自動的に処理されるため、このキーペアは削除する必要があります。
エラー "アプリのビルドに SDK のプレリリース ベータ 版が使用されました"
(Ed Anuff の投稿)
次のステップを実行します。
- i電話 ビルド オプションの SDK バージョンを 3.2 に変更します。 iTunes Connect では、3.2 未満の SDK バージョンを使用してビルドされた iPad 互換アプリが表示されるため、アップロード時に拒否されます
- プロジェクトのカスタム Info.plist を作成し、その中で MinimumOSVersion を 3.0 に明示的に設定します。 これにより、Xamarin.iOS によって設定された MinimumOSVersion 3.2 値がオーバーライドされます。 これを行わないと、アプリは i電話 で実行されません。
- iTunes Connect にリビルド、zip、アップロードします。
ハンドルされない例外: System.Exception: セレクター someSelector: on {type} を検索できませんでした
この例外は、次の 3 つのいずれかが原因で発生します。
- 対応する [Export] 属性をメソッドに Objective-C 適用せずに、ランタイムにセレクターを指定しました
- 完全リンクを有効にしており、[Export]ed メソッドに [Preserve] 属性を適用していません。
- 継承された型のプライベート メソッドに [Export] 属性を適用しました。
MainWindow.xib.designer.cs ファイルが更新されない
Xamarin Studio 2.4 にバグが発生したため、MainWindow.xib ファイルが新しいプロジェクトの MainWindow.xib.designer ファイルとグループ化されませんでした。 つまり、その特定のファイルのデザイナー コードは更新されません。
この問題は、Visual Studio for Mac のバージョンで修正されています。組み込みのアップデーターを使用して、使用可能な最新バージョンにアップグレードします。
既存のプロジェクトを修正するには、xib とそのデザイナー ファイルを削除 (削除しない) してから、もう一度追加します。 ファイルは正しくグループ化されます。
作成後に UIAlertView または UIActionSheet が消失する
次のようなコードがある場合:
var actionSheet = new UIActionSheet ("My ActionSheet", null, null, "OK", null){
Style = UIActionSheetStyle.Default
};
actionSheet.Clicked += delegate (sender, args){
Console.WriteLine ("Clicked on item {0}", args.ButtonIndex);
};
"actionSheet" オブジェクトは、関数内の一時変数として存在します。 関数が終了するとすぐに、オブジェクトはガベージ コレクションの対象になります。 パス内でガベージ コレクションが行われる。
この問題を解決するには、メソッドの外部 (メソッド以外の場所) に "actionSheet" への参照を保持する必要があります。
iPad シミュレーターで Project Always Runs を実行する
i電話 SDK 4.0 インストーラーは、2 つの SDK をインストールします。 iPad 専用アプリを構築するための 3.2 SDK。 また、i電話 およびユニバーサル アプリの構築に使用される 4.0 SDK。 また、iPad のみをシミュレートする 3.2 シミュレーターと、i電話 または i電話 4 をシミュレートする 4.0 シミュレーターもインストールします。 古い SDK とシミュレーターはすべて削除されます。
Visual Studio for Mac i電話 プロジェクトのビルド オプションには、アプリのビルドに使用される SDK バージョンの設定が含まれています。 この設定は、Project Options-Build-i>>電話 Build にあります。
Visual Studio for Mac の新しいプロジェクトでは、インストールされている最も古い SDK が既定の SDK 設定として使用されます。 指定された SDK が存在しない場合、Visual Studio for Mac は、見つかる最も近いアプリをビルドするために使用します。 これは、プロジェクトで常に最新の SDK が必要であるとは限らないように行われました。 ただし、現在、これにより 3.2 SDK が使用され、iPad シミュレーターが使用されます。
4.0 SDK を使用してこれを修正するには、Project Options-Build-i>>電話 Build> に移動し、ドロップダウン ボックスを使用して SDK の値を "4.0" に変更します。 この変更は、構成とプラットフォームの組み合わせごとに行う必要があります。アクセスするには、パネルの上部にあるドロップダウンを使用します。
SDK のバージョンは、"最小 OS バージョン" 設定と混同しないでください。 この値は SDK バージョンの値と一致する必要はありません。古い OS に存在する API のみを使用するか、ランタイム OS バージョンのチェックを使用して新しい機能の使用を保護する限り、アプリがインストールする OS の最小バージョンに影響します。これは SDK よりも古い可能性があります。 アプリをテストする最も古い OS バージョンに設定します。
[Project-i>電話 シミュレーター ターゲット>] メニューを使用すると、プロジェクトの実行時またはデバッグ時に既定で使用されるシミュレーターを選択できます。 さらに、[ Run-Run> With]\(実行で> 実行\) メニューを使用して、実行する特定のシミュレーターを選択できます。
ibtool がエラー 133 を返す
このエラーは、XCode 4 がインストールされていることを意味します。 XCode 4 では、ibtool は削除されました。 スタンドアロン ツールを使用して XIB ファイルを編集することはできなくなります。
ibtool を使用する場合は、Apple の Web サイトから入手できる XCode シリーズ 3 をインストールします。
"mime の種類の表示バインドを作成できません: application/vnd.apple-interface-builder"
このエラーは、i電話 以外のプロジェクトから i電話 UI を作成しようとすると発生します。 i電話/iPad ソリューションから始めるようにしてください。i電話 UI 要素を i電話/iPad 以外のプロジェクトに追加することはできません。
iOS シミュレーター内で実行中にスタートアップがクラッシュする
シミュレーター内でランタイム クラッシュ (SIG Standard Edition GV) が発生した場合、スタック トレースは次のようになります。
at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes (System.Reflection.Assembly,bool)
at MonoTouch.ObjCRuntime.Runtime.RegisterAssembly (System.Reflection.Assembly)
at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr)
...その後、シミュレーター アプリケーション ディレクトリに古いアセンブリが 1 つ (または複数) ある可能性があります。 このようなアセンブリは、Apple iOS シミュレーターがファイルを追加および更新するが、ファイルを削除しないために存在する可能性があります。 最も簡単な解決策は、[リセットとコンテンツと設定...をクリックします。
警告
これにより、シミュレーターからすべてのファイル、アプリケーション、およびデータが削除されます。 次にアプリケーションを実行すると、Visual Studio for Mac によってシミュレーターにデプロイされ、クラッシュの原因となる古い古いアセンブリはありません。
アプリケーションのインストール中にシミュレーターがハングする
このエラーは、アプリケーション名に '.' が含まれている場合に発生する可能性があります。(ドット) をその名前に含めます。 '.' の使用実行可能ファイル名の (ドット) は、他の多くの場合 (デバイスなど) で動作する場合でも、CFBundleExecutable では許可されません。
"値には、名前に拡張子を含めてはなりません。"
エラー: "カスタム属性の種類0x43はサポートされていません" (.xib ファイルをダブルクリックすると)
このメッセージは、環境変数が正しく設定されていないときに .xib ファイルを開こうとした場合に発生します。 このエラーは、Visual Studio for Mac と Xamarin.iOS の通常の使用では発生しません。 Visual Studio for Mac を /Applications から再度開くと、問題が解決します。
ソフトウェアを更新しようとすると、このエラー メッセージが表示される場合は、電子メール support@xamarin.com
アプリケーションはシミュレーターで実行されますが、デバイスで失敗する
この問題は複数の形式で発生する可能性があり、常に一貫性のあるエラーが発生するとは限りません。 アプリケーションに .xib が含まれている場合は、.xib のビルド アクションが InterfaceDefinition に設定されていることを確認チェック。 これは、.xibs の既定のビルド アクションです。
ビルド アクションをチェックするには、.xib ファイルを右クリックし、[ビルド アクション] を選択します。
System.NotSupportedException: エンコード 437 に使用できるデータがありません
Xamarin.iOS アプリにサード パーティ製ライブラリを含めると、アプリをコンパイルして実行しようとすると、"System.NotSupportedException: No data is available for encoding 437" (System.NotSupportedException: No data is available for encoding 437) という形式でエラーが発生する可能性があります。 たとえば、ライブラリは Ionic.Zip.ZipFile
、操作中にこの例外をスローする場合があります。
この例外は、Xamarin.iOS プロジェクトのオプションを開き、iOS Build>Internationalization に移動し、西の国際化をチェックすることで解決できます。
Xamarin を起動できませんでした。起動ツール実行可能ファイル 'mlaunch.exe' が見つかりませんでした
場合によっては、ウイルス対策ソフトウェアによって Xamarin.iOS SDK にマルウェアとして誤ってフラグが設定され、必要なファイルが削除され、SDK が破損する場合があります。 これにより、"Xamarin を起動できませんでした" などのエラーが発生します。起動ツール実行可能ファイル 'mlaunch.exe' が見つかりませんでした。
影響を受けている場合は、ウイルス対策スキャナーからmlaunch.exeを除外して、繰り返しを防ぎます。 詳細については、「アプリケーション制御の例外を作成するか、 Symantec の Endpoint Protection を使用してプロセスへの挿入sysfer.dll停止する方法」および 「Norton Auto-Protect、SONAR、Download Intelligence のスキャン からファイルとフォルダーを Norton に除外する」を参照してください。 さらに、Symantec または Norton に誤検知を報告することを検討してください。
mlaunch.exeの除外を追加すると、不足しているファイルを復元するために再インストールが必要になります。 アップデーターのチャンネルを切り替えて再インストールするだけです。
- Visual Studio のメニュー >更新プログラムを確認します。
- ドロップダウンで別の更新チャネルを選択し、[チャネルの切り替え] ボタンを押します。
- 更新プログラムがダウンロードされるまで待ちます。
- 元のチャネルに戻り、更新プログラムをインストールします。
これらの手順で問題が解決しない場合は、GitHub の問題 8736 にコメントを追加してください。