不能包含 Microsoft.Security.Application?

Posted

技术标签:

【中文标题】不能包含 Microsoft.Security.Application?【英文标题】:Can't include Microsoft.Security.Application? 【发布时间】:2011-08-24 04:57:12 【问题描述】:

我不能包含 Microsoft.Security.Application

using Microsoft.Security.Application;

给出这个错误:

命名空间“Microsoft”中不存在类型或命名空间名称“Security”(您是否缺少程序集引用?)

是的,我点击了 Bin -> Add Reference... -> AntiXSSLibrary.dll 并将它添加到 Bin 文件夹中,包括 AntiXSSLibray.xml。

我重建了整个网站,但仍然没有。

我正在使用 ASP .NET 3.5 C# - AntiXSSLibrary 4.0 Stable

【问题讨论】:

AntiXSSLibrary.dll 是正确的库吗?它似乎不同意你的看法。 是否有任何警告/消息?查看您的输出窗口。 无警告/消息。你的意思是正确的图书馆。当然是。 有命名冲突吗?一个叫 Mirosoft 的类?尝试使用全局添加命名空间( using global::Microsoft.Security.Application; ) 网站上的鼠标右键 -> 转换为 web 应用程序(对我来说,这解决了过去网站项目带来的很多问题)虽然我真的不明白为什么。否则,创建一个新网站并尝试重现问题。如果你不能,试着找出差异 【参考方案1】:

如果你得到这个 nuget,所有扩展对象都是可见的

安装包 AntiXSS

它解决了我的问题。

html = Microsoft.Security.Application.Encoder.HtmlEncode(model.SiteName), model = Microsoft.Security.Application.Encoder.HtmlEncode(json),

【讨论】:

【参考方案2】:

卸载并重新安装 AntiXSS:

工具 --> NuGet 包管理器 --> 包管理器控制台(如果使用 Visual Studio 2013 以外的版本,UI 可能会有所不同):

Uninstall-Package AntiXSS
Install-Package AntiXSS

对于多项目解决方案,请务必将默认项目设置为遇到问题的项目。如果卸载失败并且你可以处理任何可能出现的包依赖问题,请使用Uninstall-Package -Force AntiXSS,尽管我不知道这个包。

【讨论】:

【参考方案3】:

在您的网站上用鼠标右键 -> 转换为 web 应用程序。见:How To Convert ASP.NET Website to ASP.NET Web Application

【讨论】:

【参考方案4】:

如果像我一样,您通过Nuget 在类库中使用AntiXSSLibrary,并收到上述错误:

    删除您通过 Nuget 获得的所有外部引用 删除 Nuget 包文件 - 在解决方案的根目录中找到 packages.config 删除 packages 目录 - 再次在您的解决方案的根目录中 重新安装所有组件

【讨论】:

【参考方案5】:

答案here 帮助了我。我在网站的 bin 文件夹中找到了 AntiXssLibrary.dll。

【讨论】:

【参考方案6】:

您正在使用 使用 Microsoft.Security.Application;

试试这个 使用 System.Web.Security.Application;

对我来说,情况正好相反。我认为这是由于我使用的 AntiXSSScripting dll 版本不同。

【讨论】:

【参考方案7】:

从工具中安装-Package AntiXSS --> NuGet 包管理器

【讨论】:

以上是关于不能包含 Microsoft.Security.Application?的主要内容,如果未能解决你的问题,请参考以下文章

我想将包含文件嵌套在包含文件中。为啥我不能在 Inno Setup 中这样做?

不能包含 std::format

该列不能包含空值。 SqlCE 异常

BootStrap:行不能在一行包含两列

如何修复“MongoError:数据库名称不能包含字符'/'”

为啥表达式树不能包含命名参数规范?