неизвестная ошибка сборки. Эта реализация не является частью проверенных криптографических алгоритмов Windows Platform FIPS.

Итак, я включил эту групповую политику, и при первой попытке скомпилировать свое решение я получаю эту ошибку. Самое смешное, что я использую криптографическую функцию только в одном месте, но то, что я вижу, это все мои файлы Silverlight ResourceDictionary и файлы WPF userControl. Все остальное вроде нормально компилируется.

Почему я вижу ошибку только в файлах xaml, где я ничего не делаю с шифрованием? Я знаю, что могу отключить групповую политику FIPS, но я хочу ее поддерживать. Любая идея, почему определенные файлы XAML вызывают эту ошибку во время компиляции?


person mdutra    schedule 16.04.2012    source источник
comment
Вы нашли обходной путь? У меня такая же проблема.   -  person Tim    schedule 28.01.2013


Ответы (2)


Я знаю, что немного опоздал в игру, но недавно я столкнулся с этой проблемой, а также нашел решение. По причинам, указанным @mdutra выше, вот почему это не работает, но интересно, что в Visual Studio 2010 и 2012 есть два разных исправления.

В сообщении Microsoft Connect (которого больше не существует) говорилось:

Visual Studio 2012 теперь создает проекты C# в отдельном процессе, который запускает msbuild. Запись, которую вы добавили в devenv.exe.config (которая работала для VS 2010), не будет видна этому процессу. Вы должны добавить <enforceFIPSPolicy enabled="false"/> непосредственно над тегом </runtime> в файле msbuild.exe.config; обычно находится в C:\Windows\Microsoft.Net\Framework\v4.0.30319\msbuild.exe.config.

Я также добавил его в файл C:\Windows\Microsoft.Net\Framework64\v4.0.30319\msbuild.exe.config, так как не знал, какой MSBuild использую.

person Brett Wertz    schedule 01.07.2015
comment
Я помню, что это решение работало для меня в какой-то момент, но теперь я не могу сохранить изменения в файле с ошибками, говорящими, что он открыт где-то еще или у меня нет прав на сохранение (даже в режиме администратора на моем собственном компьютере). - person cr0; 26.05.2017
comment
@cr0, одна из причин, по которой это сообщение будет отображаться, заключается в том, что в настоящее время у вас идет сборка. Я бы предложил закрыть Visual Studio или даже перезагрузить компьютер, а затем снова попробовать отредактировать файл. Вы также можете попробовать изменить разрешения для родительской папки, на всякий случай, если разрешения унаследованы. - person Brett Wertz; 19.06.2017
comment
для версий MSBuild, связанных с Visual Studio с 2013 года, вам необходимо изменить файлы msbuild.exe.config, находящиеся в разделе %ProgramFiles(x86)%\MSBuild\[version] - person rjvdboon; 17.07.2017
comment
Я посмотрел в диспетчере задач, откуда запускается msbuild.exe, затем изменил .config, как было предложено, закрыл VS, запустил и... все работает! - person Rekshino; 12.12.2017

После некоторых исследований я нашел этот ответ, который имеет смысл:

WPF и FIPS

Вот содержание ссылки на всякий случай, если она будет удалена:

The following is the reply I got from the WPF XAML team:

We didn’t fix it because this issue was discovered days (June 2, 2008) before the release.

I still have the BBPack I didn’t checkin.  Here is the comment from the code.



            // The Federal Information Processing Standard mandates that

            // MD5 is obsolete and not safe for cryptographic checksums.

            // We are using it to coordinating source files for debugging

            // not authenticating so MD5 use is OK here.

            // But, on a OS with the FIPS compliant switch ON, the managed

            // MD5CryptoServiceProvider Ctor will throw.  So we can't use it.

            //

            // Currently we use a PInvoke wrapper to the Native layer;

            // which still works, even on a FIPS compliant machine.  A Better

            // fix would be to move to the approved SHA checksums, but that

            // will require co-ordination with VS and the Debugger groups etc.



The MSI builder and a few other tools also threw on a FIPS=1 machine.

So even we if we fixed our part (in 3.5sp1), the customer’s end-to-end solution was still broken.



General FIPS info:

http://support.microsoft.com/kb/811833/en-us
person mdutra    schedule 17.04.2012
comment
Все еще вижу эту проблему с WPF 4.5.1. Любое обходное решение, кроме отключения FIPS? - person qmo; 16.12.2014
comment
Каково решение этой проблемы? Я отключил FIPS и все еще получаю эту ошибку. - person daniely; 08.01.2015