2012-06-06 23 views
8

Android用モノラルでMonoDevelopをビルドしようとすると、このエラーが発生します。デバッグによると、それは私のコードに位置していないので、私は無知になりました。何か案が?エラーMSB4185: "System.Globalization.CultureInfo"が実行可能になっていません

エラーMSB4185:タイプ の機能 "CurrentUICultureの" "可能System.Globalization.CultureInfoは、" 実行のために有効になっていません。 (MSB4185)

+0

この問題もあります。万が一Windows 8を使用していますか?もしそれがどうしたらいいのかなと思っています。 –

+0

Windows 8 RPでも同様です。これを参照してください:https://bugzilla.xamarin.com/show_bug.cgi?id = 5597 –

+0

これは、.NET Framework 4.5のインストールに関連していますか? – Dominique

答えて

1

Windows 7マシンから.NET Framework 4.5 RCをアンインストールした後、このエラーは表示されなくなりました。 もちろん、4.5をアンインストールした後に有効な.NETランタイムがインストールされていることを確認してください。

6

私はMSBuild(およびこのコード)を所有しています。これは、おそらく、エラーメッセージにあるように、ファイルmicrosoft.csharp.targetsを起源とするエラーです。プロパティ関数がある場合:

$([可能System.Globalization.CultureInfo] :: CurrentUICulture.Name)

どのようなエラーが意味することは、それは、この機能はMSBuildのの「セーフリスト」にないことを考えてということです。これらは副作用のない選択された機能です。 (任意の関数を使用する場合は、環境変数MSBUILDENABLEALLPROPERTYFUNCTIONS = 1が必要です)。

何とかあなたが4.5のmicrosoft.csharp.targetsを4.0のmicrosoft.build.dll(セーフリストにない)を使用していない限り、なぜこのように表示されるのか分かりません。私はMonodevelopとの関連以外はこれに関する報告を受けていません。

申し訳ありませんが、私はMonodevelopがMicrosoft .NET FrameworkをMicrosoft MSBuildで使用していて、それを再実装していないと仮定しています。

ダン

+0

4.5をアンインストールすると、microsoft.csharp.targetsが4.0バージョンにロールバックするため、これを「修正」します。もちろん、4.5以上は持っていません。 – dan

+0

また、msbuild.exeを使用してC#プロジェクトをビルドすることで、microsoft.csharp.targetsとmicrosoft.build.dllが同期していることを自明に確認できます。これはもちろん、Monodevelopがいくつかのカスタムロケーションから異なるコピーをロードしていないことを前提としています。 – dan

+2

ああ、私は問題を理解しました。どうやら、4.0 + OM(microsoft.build.dllから)ではなく、古いOM(microsoft.build.engine.dllから)を使用しています。誰か(明らかにMonoDevelopのような)がそれを使用していた場合に備えて、私たちはcompatのために古いOMを再構築しました。 msbuild.exe 4.0+とVS2010 +は新しいOMを使用するので、古いものは比較的テストされていません。そして、古い.NET Frameworkを使用している場合、4.0または4.5のプロジェクトで4.5 .NET Frameworkがインストールされていて、BuildingInVisualStudio = true(Monodevelopが設定していると思います)というプロパティを使用すると、このエラーが発生します。 – dan

5

私のための実用的なソリューションはこれです:

開き、CMD、その上に次のコマンドを実行します。私が思うsetx MSBUILDENABLEALLPROPERTYFUNCTIONS 1

別の解決策が提供されていますがMono Runtimeをインストールし、あなたのように設定されていますツール - >オプション - > .NETランタイムからデフォルトのCLRランタイム。

+0

CMDオプションが完璧に機能しました –

関連する問題