Costura Fody бросает ошибку с FodyIsolated.dll - PullRequest
0 голосов
/ 23 мая 2018

Я создал приложение WPF и использовал Costura.Fody, чтобы объединить его в один исполняемый файл.Это работало до сегодняшнего дня, и единственное известное мне изменение заключается в том, что я обновил Visual Studio (Community Edition до 15.7.2).

Теперь выдает ошибку при сборке сразу после запуска: Не удалось загрузитьфайл или сборка '<directory of my app>\packages\Fody.3.0.3\netclassictask\FodyIsolated.dll' или одна из его зависимостей.Операция не поддерживается.(Исключение из HRESULT: 0x80131515)

Я пробовал несколько вещей:

  • Проверка того, что FodyIsolated.dll не заблокирован (это не так)
  • Обновлениедо последней версии Costura.Fody Nuget
  • Удаление и повторная установка Costura.Fody Nuget
  • Обновление до версии, которая работала ранее
  • Добавлениек моему app.config
  • Добавлениев devenv.exe.config в каталоге установки Visual Studio
  • Добавление IP-адреса сетевого диска, на котором хранится мое приложение, в зону локальной интрасети в параметрах Интернета (приложение хранится на сетевом диске)

Одно из вышеуказанных решений сработало для всех, кто сталкивался с этой проблемой, но ни одно из них не помогло мне.Я надеюсь, что кто-то может дать мне другой вариант, или указать, где я иду не так.

Чтобы было ясно, если я удаляю Costura.Fody, приложение работает хорошо, но, очевидно, имеет все библиотекиотдельно от exe.

1 Ответ

0 голосов
/ 23 мая 2018

Мне удалось решить эту проблему самостоятельно, после нескольких дополнительных экспериментов и исследований.

Я заметил, что общая проблема с этой конкретной ошибкой - это файлы на сетевых дисках, поэтому я попытался запустить решение с моего Cдиск, и, к моему удивлению, он собран без проблем.

Так что я тогда немного погуглил и наткнулся на это: https://blogs.msdn.microsoft.com/shawnfa/2009/06/08/more-implicit-uses-of-cas-policy-loadfromremotesources/

Для важной части это то, как он обрабатывает сборкизагружается.Я был в правильном месте, добавив IP-адрес сервера в зону интрасети, просто нужно указать полный путь к папке, в которой находилось решение.

Так что, если у кого-то еще есть эта проблема, попробуйте добавитьпапка вашего решения в зону интрасети, так как это исправляет.

...