c# - mono for android 错误 CopyGenerateJavaResourceClasses

标签 c# android xamarin.android fips

我正在我的电脑上安装 Android 版 Mono

安装程序完成后,我安装了 Xamarin Installer for Mono for Android

我打开 MonoDevelop 并创建了新的 android 项目并收到此错误

> C:\Program Files
> (x86)\MSBuild\Novell\Novell.MonoDroid.Common.targets(2,2): Error
> MSB4018: The "CopyGeneratedJavaResourceClasses" task failed
> unexpectedly.
> 
> System.InvalidOperationException: This implementation is not part of
> the Windows Platform FIPS validated cryptographic algorithms.
> 
>    at System.Security.Cryptography.SHA1Managed..ctor()
> 
>    at Xamarin.Android.Tasks.MonoAndroidHelper.HashFile(String
> filename)
> 
>    at Xamarin.Android.Tasks.MonoAndroidHelper.HasFileChanged(String
> source, String destination)
> 
>    at Xamarin.Android.Tasks.MonoAndroidHelper.CopyIfChanged(String
> source, String destination)
> 
>    at Xamarin.Android.Tasks.CopyGeneratedJavaResourceClasses.Execute()
> 
>    at
> Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
> 
>    at
> Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost
> taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost
> taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask,
> Boolean& taskResult) (MSB4018) (rrr)

当我尝试在 Visual Studio 2010 中创建新的 android 项目时,我也遇到了这个错误 请帮忙!

最佳答案

FIPS 140 合规性似乎是 enabled在你的电脑。这将不允许执行非 FIPS 认证的算法。

例如Microsoft 的 SHA1Managed 未经过认证,而 SHA1CryptoServiceManager 使用 CryptoAPI,应该没问题 - 这实际上取决于平台和版本。

简单的解决方法是 turn off您计算机上的 FIPS 合规性(请参阅注册表项的注释)。

关于c# - mono for android 错误 CopyGenerateJavaResourceClasses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14023026/

相关文章:

c# - 如何从 IDictionary 中获取键值对?

android - 检查行是否已插入 Room 数据库

c# - 如何使用 xamarin 将私有(private)字符放入字符串中

android - 使用 Visual Studio 2017 在 Xamarin 上格式化布局

Android Camera Intent 与 Android L 崩溃

android - RecyclerView SpanSizeLookup - 大数据集的可怕性能

c# - 最后从字符串中删除标点符号

c# - C# 中跨不同文件的预处理器指令

c# - Nhibernate - 找不到属性的 setter/getter

java - 日历类在不同设备上给出不同的日期