我不能包含Microsoft.Security.Application
using Microsoft.Security.Application;
给出此错误:
命名空间"Microsoft"中不存在类型或命名空间名称"Security"(是否缺少程序集引用?
是的,我点击了 Bin -> Add Reference... -> AntiXSSLibrary.dll并将其添加到 Bin 文件夹中,包括 AntiXSSLibrary.xml。
我重建了整个网站,但仍然一无所获。
我正在使用ASP .NET 3.5 C# - AntiXSSLibrary 4.0 Stable
如果你得到这个 nuget 所有扩展对象都是可见的
安装包反 XSS
它解决了我的问题。
html = Microsoft.Security.Application.Encoder.HtmlEncode(model.SiteName),
model = Microsoft.Security.Application.Encoder.HtmlEncode(json),
卸载并重新安装 AntiXSS:
工具 --> NuGet 包管理器 -->包管理器控制台(如果使用 Visual Studio 2013 以外的 UI,UI 可能会有所不同):
Uninstall-Package AntiXSS
Install-Package AntiXSS
对于多项目解决方案,请确保将默认项目设置为遇到问题的任何一个项目。如果卸载失败并且您可以处理可能出现的任何包依赖问题,请使用Uninstall-Package -Force AntiXSS
,尽管我知道这个包没有。
鼠标右键放在您的网站上 -> 转换为网络应用程序。请参阅: 如何将 ASP.NET 网站转换为 ASP.NET Web 应用程序
如果您像我一样通过 Nuget
在类库中使用 AntiXSSLibrary
并得到上述错误:
- 删除通过 Nuget 拥有的所有外部引用
- 删除 Nuget 包文件 -
packages.config
解决方案的根目录中找到该文件 - 删除
packages
目录 - 再次在解决方案的根目录中 - 重新安装所有组件
这里的答案帮助了我。我在网站的 bin 文件夹中找到了 AntiXssLibrary.dll。
从工具安装包反XSS --> NuGet 包管理器
您正在使用使用Microsoft.安全.应用程序;
试试这个使用System.Web.Security.Application;
对我来说,情况正好相反。我认为这是由于我正在使用的不同版本的 AntiXSSScripting dll。