8

MonoDevelop で Mono for Android をビルドしようとすると、このエラーが発生します。デバッグによると、それは私のコードにはありませんので、私は無知のままです。何か案が?

エラー MSB4185: 型 "System.Globalization.CultureInfo" の関数 "CurrentUICulture" の実行が有効になっていません。(MSB4185)

4

3 に答える 3

6

私は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を使用しており、その再実装ではないと想定しています。

ダン

于 2012-06-18T16:26:13.080 に答える
5

私にとって有効な解決策は次のとおりです。

CMD を開き、次のコマンドを実行します。setx MSBUILDENABLEALLPROPERTYFUNCTIONS 1

私が利用できると思う別の解決策は、Mono Runtimeをインストールし、Tools -> Options -> .NET Runtimes からデフォルトの CLR ランタイムとして設定することです。

于 2012-08-22T19:39:25.427 に答える
1

Windows7マシンから.NETFramework4.5 RCをアンインストールした後、このエラーは消えました。もちろん、4.5をアンインストールした後は、有効な.NETランタイムがあることを確認してください。

于 2012-06-15T17:13:58.973 に答える