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