ASP.NET MVC 3.0.0.1 版安全补丁破坏了构建 [重复]

2023-11-22

安装 ASP.NET MVC 3 安全更新后KB2990942看来 MVC 版本增加了3.0.0.0 to 3.0.0.1。这会导致 Visual Studio 不再找到引用。

<Reference Include="System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />

Resharper 没有显示任何问题,但构建失败,并出现大量未解析的 MVC 类型和警告:

Warning:无法解析此引用。无法找到 程序集“System.Web.Mvc,版本=3.0.0.0,文化=中性, PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”。检查以 确保该程序集存在于磁盘上。如果需要此参考 根据您的代码,您可能会遇到编译错误。

这是有道理的。我的机器上不再存在该版本。

我无法保证开发机器、构建服务器和生产服务器上的确切 MVC 版本。他们可能有3.0.0.0 or 3.0.0.1这可能随时改变。 Windows Update 可能随时发布新的 MVC 版本。另外,我不想在发布 MVC 更新时增加所有 *.csproj 文件中的版本号。

此次更新影响多个版本:

  • KB 2993939:Microsoft ASP.NET MVC 2 安全更新
  • KB 2993937:Microsoft ASP.NET MVC 3 的安全更新
  • KB 2993928:Microsoft ASP.NET MVC 4.0 的安全更新
  • KB 2992080:Microsoft ASP.NET MVC 5.0 的安全更新

安全公告:MS14-059:ASP.NET MVC 中的漏洞可能允许安全功能绕过 (2990942)

处理这种情况的最佳方法是什么?我怎样才能打破构建和生产并保证未来 MVC 更新的安全?


我通过以下方式解决了这个问题:

  • 删除 MVC 引用并将正确的引用添加到项目中。
  • 改变Copy Local引用的属性true.
  • 更新bindingRedirect设置在web.config:

网络配置runtime部分:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
            <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.1" />
        </dependentAssembly>
    ...

改变Copy Local设置将包括System.Web.MVC.dll文件在bin发布项目时的文件夹,以便即使服务器未使用新版本更新它也可以工作。

请注意,这样的更新很少发生。这是 MVC 3 自发布以来首次进行修补。你应该能够改变Copy Local回到false服务器更新后。下次微软进行这样的更新时,他们可能会知道首先解决这样的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 3.0.0.1 版安全补丁破坏了构建 [重复] 的相关文章

随机推荐

  • 在 C/C++ 中加密文本文件的最佳方法是什么?

    只要用户登录 基于 C C 的 cgi Web 应用程序就会在服务器上创建一个临时文本文件 当用户注销时 该文本文件将被删除 我想加密这个文本文件以及文件的内容 该文件将包含用户名和密码等信息 做这个的最好方式是什么 编辑 我看到有人建议图
  • UIWebBrowserView 不跨越整个 UIWebView

    所以我一直在尝试让这个简单的行为在我的 iPhone 应用程序上运行一段时间 我的顶部有一个导航栏 底部有一个标签栏 我正在将所有内容加载到网络视图中 我希望将其放在两者之间 我已经发帖讨论过这个问题两次了 都在这里 IOS 视图仍然没有加
  • 在 Bash 中将波形符回显到文件而不扩展它

    我需要在 Bash 脚本中向文件写入一个参数 所以我正在做这样的事情 echo Argument is 1 gt gt file 问题是 如果参数中有波形符 我不希望它扩展到主目录 因此 如果用户将 bin 作为参数传递给脚本 它将被写为
  • Win32 套接字 - 在发送到其他本地接口时强制 ip 数据包离开物理接口

    摘要 我正在尝试创建套接字以在同一台计算机上存在的两个物理接口之间传递数据 并且 Win32 套接字始终直接在内核中转发流量 而不是通过物理接口推送 有什么方法可以禁用此行为 也许可以通过设备设置 注册表调整 路由表恶作剧或套接字选项 我们
  • 创建针对 Monodroid 的 PCL

    我正在查看闪亮的 MVVMCross 项目 特别是N 1天MVVMCross系列 我注意到 slodge 创建了一个针对 Android 的 Mono 和 Monotouch 的 PCL 1 10 我安装了适用于 Android 的 mon
  • 如何将控制台输出重定向到文本文件

    我正在执行一个 Perl 程序 无论我的控制台上打印什么 我都想重定向 到一个文本文件 首选方法是通过命令行处理重定向 例如 perl w my program pl gt my output txt 如果你还想包含 stderr 输出 那
  • 数据文件中的字段超出最大长度 - 错误

    当我尝试将数据插入到指定大小的列中时varchar2 4000 在表中我收到错误为 Field in data file exceeds maximum length 数据 1 2 3 4 5 6 7 8 9 10 11 12 13 15
  • Android:如何在 CSV 文件中写入换行符?

    我正在尝试在 CSV 文件中组织我的数据 我想将我的数据放入特定行 因此我尝试放入 n 但它不起作用 请帮助我将数据放入特定行 谢谢进步 public void writeData String data String strFilePat
  • Java是向后兼容的,但是为什么jdk从1.6升级到1.8时需要升级很多库呢?

    近期我们升级了Jdk版本1 6 to 1 8在我的一个 Java 项目中 但有一些编译或运行时错误 所以我必须升级一些库 gradle 1 9 to 1 10 spring 3 x to 4 x 这是因为他们使用的是 ASM 的一些早期版本
  • ASP 的 JSON 返回错误

    我们正在使用由外部供应商编写的 ASP 应用程序 我的任务是对应用程序进行一些小的更改 但是我对 asp 或 json 一无所知 通过一些研究 我将其放在一起 我在表单上创建了一个文本框 我想将客户端 IP 地址返回到该文本框 我写了一个函
  • SSRS 2008:如何根据类别字段(有条件)隐藏表行

    I am new to Sql Server Reporting Services I have created my following report I want to remove hide rows of Brand Total w
  • 删除使用情节提要创建的导航栏中的半透明栏

    我从故事板创建了一个导航控制器 现在我尝试删除它的半透明选项 我把它放在我的 appdelegate m 上 UINavigationBar appearance setBarTintColor UIColor colorWithRed 5
  • PHP 检测 shell_exec() 命令是否失败

    我在 PHP 的 shell exec 中运行 ffmpeg 命令来转换列表中的多个视频 是否有办法检测视频转换时是否发生错误 或至少验证它完全完成转换 如果发生错误 我不想停止转换其他视频 只是能够记录错误 使用另一个系统调用函数捕获退出
  • 两个正整数相乘的结果转换为负值

    我有这样的代码 int a 629339 int b 4096 long res a b 结果是 1717194752但如果我添加一个手动转换到长long res long a b or long res long a b 结果是正确的25
  • 如何使用 javascript / jQuery 递增/递减十六进制颜色值

    是否可以在 jQuery JavaScript 中逐步增加或减少十六进制颜色值 我想做的是这样的 改编自 for 循环 for var i 0 i lt 100 i console log i 我想做类似的事情 for var color
  • 基于多个 1 级列的子集多索引 DataFrame

    我有一个多索引 DataFrame 但我想为每个 0 级变量 即列 一 和 二 在每个级别 1 保留两列 我可以分别对它们进行子集化 但我想将它们放在一起 这样我就可以并排保留值 这是数据框 index pd MultiIndex from
  • 如何在SQL中从字符串中提取某些第n个字符

    我有一个返回值为 xxx xxx xxx xxxxx xx x 的字段 我如何从该代码中提取第 10 个字符 select substring xxx xxx xxx xxxxx xx x 10 1 The documentation fo
  • 为什么我在运行 MS Access 查询时收到“输入参数值”?

    SELECT ID Name SELECT CityName FROM City WHERE Employee CityID City CityID AS City Name FROM Employee WHERE City Name Ne
  • firebase.auth 不是函数

    我将 Webpack 与 firebase 和 firebase admin 一起使用 为了安装 firebase 我运行了 npm install save firebase 我正在使用以下命令导入 firebase import as
  • ASP.NET MVC 3.0.0.1 版安全补丁破坏了构建 [重复]

    这个问题在这里已经有答案了 安装 ASP NET MVC 3 安全更新后KB2990942看来 MVC 版本增加了3 0 0 0 to 3 0 0 1 这会导致 Visual Studio 不再找到引用