MonoDevelop で Mono for Android をビルドしようとすると、このエラーが発生します。デバッグによると、それは私のコードにはありませんので、私は無知のままです。何か案が?
エラー MSB4185: 型 "System.Globalization.CultureInfo" の関数 "CurrentUICulture" の実行が有効になっていません。(MSB4185)
MonoDevelop で Mono for Android をビルドしようとすると、このエラーが発生します。デバッグによると、それは私のコードにはありませんので、私は無知のままです。何か案が?
エラー MSB4185: 型 "System.Globalization.CultureInfo" の関数 "CurrentUICulture" の実行が有効になっていません。(MSB4185)
私はMSBuild(およびこのコード)を所有しています。エラーメッセージにおそらく示されているように、これはファイルmicrosoft.csharp.targetsで発生したエラーです。プロパティ関数があります:
$([System.Globalization.CultureInfo] :: CurrentUICulture.Name)
エラーの意味は、この関数がMSBuildの「セーフリスト」に含まれていないと見なしていることです。これらは、副作用のない選択された機能です。(関数を使用する場合は、環境変数MSBUILDENABLEALLPROPERTYFUNCTIONS = 1が必要です)。
どういうわけか、4.0 microsoft.build.dll(セーフリストに含まれていなかった)で4.5 microsoft.csharp.targetsを使用していない限り、これが表示される理由はわかりません。Monodevelopに関連する場合を除いて、この報告は受け取っていません。
申し訳ありませんが、MonodevelopはMicrosoftMSBuildでMicrosoft.NET Frameworkを使用しており、その再実装ではないと想定しています。
ダン
私にとって有効な解決策は次のとおりです。
CMD を開き、次のコマンドを実行します。setx MSBUILDENABLEALLPROPERTYFUNCTIONS 1
私が利用できると思う別の解決策は、Mono Runtimeをインストールし、Tools -> Options -> .NET Runtimes からデフォルトの CLR ランタイムとして設定することです。
Windows7マシンから.NETFramework4.5 RCをアンインストールした後、このエラーは消えました。もちろん、4.5をアンインストールした後は、有効な.NETランタイムがあることを確認してください。