C# - .NET 4.0 - эта сборка не допускает частично доверенных абонентов
При запуске из сетевой папки мое приложение выдает следующее исключение:
Эта сборка не допускает частично доверенных абонентов.
Мое приложение ссылается на два DLL-файла:
- BitFactory.Logging.dll
- FileHelpers.dll
Я не уверен, с кем у него проблемы.
AllowPartiallyTrustedCallersAttribute
Читайте об этом, но у меня нет источника ни для одного из DLL-файлов, поэтому я не могу добавить атрибут к этим DLL-файлам.CASPOL.EXE
: добавил мою сетевую папку, используя несколько вариантов, таких какcaspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet
кажется, ничего не влияет.
Я использовал взлом CASPOL раньше, с.NET 3.5, однако, похоже, что теперь не работает с.net 4.0. Кто-нибудь может подсказать, как я могу обойти эту проверку "Частично доверенный абонент"?
Благодарю.
1 ответ
.NET 4.0 изменил правила по умолчанию для политики безопасности. Вам нужно будет создать или изменить App.config
файл для этого приложения.
Код доступа к безопасности (как настроено CASPOL
) теперь игнорируется по умолчанию в.NET 4.0. Если вы хотите включить его, вам нужно добавить следующее в ваш app.config
файл:
<configuration>
<runtime>
<!-- enables legacy CAS policy for this process -->
<NetFx40_LegacySecurityPolicy enabled="true" />
</runtime>
</configuration>
Вы можете настроить.NET 4.0 для обработки кода из сети, используя LoadFrom
как полностью доверенный со следующим элементом конфигурации:
<configuration>
<runtime>
<!-- Treat assemblies from network locations as fully trusted. -->
<!-- Caution: Do not point this loaded gun at your foot. -->
<loadFromRemoteSources enabled="true" />
</runtime>
</configuration>