Не удалось загрузить тип "AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider".
Я пытался использовать htmleditorextender, но я получаю ошибку. ниже мои настройки
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>
<asp:TextBox runat="server" ID="textBoxGalleryUrl" CssClass="cstmtxtclr" />
<asp:HtmlEditorExtender ID="HtmlEditorExtender1" runat="server" TargetControlID="textBoxGalleryUrl"></asp:HtmlEditorExtender>
Мои настройки web.conf:
<configSections>
<sectionGroup name="system.web">
<section name="sanitizer"
requirePermission="false"
type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit"/>
</sectionGroup>
</configSections>
<system.web>
<!--<httpRuntime requestValidationMode="2.0"/>-->
<compilation debug="true" targetFramework="4.0"/>
<sanitizer defaultProvider="AntiXssSanitizerProvider">
<providers>
<add name="AntiXssSanitizerProvider"
type="AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider"></add>
</providers>
</sanitizer>
</system.web>
У меня есть следующие библиотеки в папке bin;
AntiXSSLibrary.dll
SanitizerProviders.dll
HtmlSanitizationLibrary.dll
Но я все еще получаю эту ошибку;
Could not load type 'AjaxControlToolkit.Sanitizer.AntiXssSanitizerProvider'.
Почему я получаю эту ошибку?
4 ответа
С помощью AntiXss
как дезинфицирующее средство по умолчанию больше не поддерживается с июня 2012 года. Из официального анонса, по-видимому, новая версия AntiXss
ломает слишком много вещей.
Использовать AjaxControlToolkit с HTML Agility Pack
Сначала вам нужно установить пакет с помощью Nuget ( инструкция).
Тогда вы можете использовать HTML Agility Pack
как ваше дезинфицирующее средство путем изменения вашего web.config
как это:
<configuration>
<configSections>
<sectionGroup name="system.web">
<section name="sanitizer" requirePermission="false"
type="AjaxControlToolkit.Sanitizer.ProviderSanitizerSection, AjaxControlToolkit" />
</sectionGroup>
</configSections>
<system.web>
<sanitizer defaultProvider="HtmlAgilityPackSanitizerProvider">
<providers>
<add name="HtmlAgilityPackSanitizerProvider" type="AjaxControlToolkit.Sanitizer.HtmlAgilityPackSanitizerProvider"></add>
</providers>
</sanitizer>
</system.web>
</configuration>
Надеюсь это поможет.
HTML Agility Pack должен быть установлен для всех новых версий Ajax Control Toolkit. К сожалению, многие ответы в Интернете неверны
Поиск высокого и низкого уровня для решения той же проблемы, я решил, что Ajax Control Kit также необходимо загрузить с помощью диспетчера пакетов библиотеки...
PM > Установить-пакет AjaxControlToolkit
Это решило проблему для меня.
Рекомендуется загрузить последнюю версию пакета Html Agility Pack отсюда: http://htmlagilitypack.codeplex.com/ поместить в корзину и добавить ссылку на нее в свой проект.
Или используйте команду установки:
PM> Install-Package HtmlAgilityPack
Вы можете посмотреть по этой ссылке http://nuget.org/packages/HtmlAgilityPack
Вам не нужно использовать или ссылаться на AntiXSSLibrary, просто используйте HtmlAgilityPackSanitizerProvider, и ваша ошибка исчезнет
Удачи