尝试使用Mono for Android构建MonoDevelop时出现此错误。根据调试它不在我的代码中,所以我离开了无能为力。有什么想法吗?
错误MSB4185:类型上的函数“CurrentUICulture” “System.Globalization.CultureInfo”尚未启用执行。 (MSB4185)
答案 0 :(得分: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,而不是重新实现它。
丹
答案 1 :(得分:5)
我的工作解决方案是:
打开CMD并在其上运行此命令:setx MSBUILDENABLEALLPROPERTYFUNCTIONS 1
我认为可用的另一个解决方案是安装Mono Runtime并将其设置为工具的默认CLR运行时 - >选项 - > .NET运行时。
答案 2 :(得分:1)
从Windows 7计算机上卸载.NET Framework 4.5 RC后,此错误消失了。 当然,请确保在卸载4.5后有可用的.NET运行时。