相关疑难解决方法(0)

Windows更新导致MVC3和MVC4停止工作

我是唯一一个在10月15日安装了Windows Update(8.1)的人,突然MVC由于这个警告而停止工作了吗?

警告1无法解析此引用.无法找到程序集"System.Web.Mvc,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35,processorArchitecture = MSIL".检查以确保磁盘上存在程序集.如果您的代码需要此引用,则可能会出现编译错误.

似乎这个Windows更新安装了版本号为4.0.0.1的更新版本的MVC,并从程序文件文件夹中删除旧版本.

有人知道如何在不爬行每个项目的情况下解决这个问题吗?

.net asp.net-mvc windows-update asp.net-mvc-3 asp.net-mvc-4

125
推荐指数
5
解决办法
5万
查看次数

自MS14-059以来,System.Web.MVC未复制到bin文件夹中.如何防止因Windows更新而导致缺少DLL的构建?

今天早上据报道,我们的QA服务器上的网络应用程序完全被破坏,并报告了来自Web.config的以下错误:

无法加载文件或程序集'System.Web.Mvc,Version = 5.1.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一.该系统找不到指定的文件

记住眼看提到MVC一个Windows更新,我做了一些挖掘和发现大量 报告最近的Windows更新打破MVC.

在仔细研究了这些问题和我们的服务器之后,似乎被咬过的东西与那些其他问题中的东西不匹配,但它看起来确实相关.这是我们认为的知识:

  • 我们破解的应用程序使用ASP.NET MVC 5.1
  • MVC是通过NuGet安装的
  • 我们的BuildServer和QA服务器没有安装MVC 5.1(因此,不是GAC)

我们认为已经破坏的原因导致了"糟糕的构建":

  • 尽管没有在GAC中安装MVC 5.1,但是通过Windows Update在BuildServer上安装了MVC 5.1补丁
  • 该补丁已将"更新"版本的MVC 5.1置于GAC中
  • 当DLL在GAC中时,将忽略CopyLocal = true; 因此,自补丁以来,这意味着我们从BuildServer构建的应用程序不再在输出文件夹中有System.Web.MVC
  • 由于System.Web.MVC不在我们的QA服务器上的GAC中(它们尚未修补),因此应用程序现在失败,因为找不到System.Web.MVC

假设上述行为是正确的,这意味着任何时候MS通过Windows Update 在GAC中为NuGet DLL提供服务,我们的BuildServer将开始生成不完整的构建(错过那些已经注入GAC的DLL) .

升级到MVC 5.2解决了这个问题(可能是因为它没有修补,因此没有注入GAC); DLL现在已复制到输出文件夹.除了版本号更改(特别是没有<Private>添加/编辑节点)之外,差异没有变化升级到5.2.2 .

我们不希望开始GACing所有内容,也不希望创建手动构建步骤将所有DLL复制到bin文件夹中,以防MS修补它们.

那么,今天我们可以改变什么来确保我们不会最终导致BuildServer默默地产生错误的构建,如果MS将来修补其他DLL?

.net windows asp.net security asp.net-mvc

36
推荐指数
2
解决办法
1万
查看次数

"CreateRiaClientFilesTask"任务意外失败

我是VS 2010并且最近安装了WCF RIA Services V1.0.为了测试,我创建了一个新的Silverligh Business项目,但现在我不时地重建解决方案时收到以下错误:

有人知道我为什么会这样吗?

谢谢

Error   1   The "CreateRiaClientFilesTask" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.ServiceModel.DomainServices.Tools, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
File name: 'Microsoft.ServiceModel.DomainServices.Tools, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMarkHandle stackMark, Boolean loadTypeFromPartialName, ObjectHandleOnStack type)
   at System.RuntimeTypeHandle.GetTypeByName(String name, Boolean throwOnError, Boolean ignoreCase, Boolean reflectionOnly, StackCrawlMark& stackMark, Boolean loadTypeFromPartialName)
   at System.RuntimeType.GetType(String typeName, Boolean throwOnError, Boolean ignoreCase, Boolean …
Run Code Online (Sandbox Code Playgroud)

silverlight wcf-ria-services

19
推荐指数
2
解决办法
1万
查看次数

安装KB2993928后,ASP.NET MVC4解决方案无法构建

我们有一个ASP.NET MVC 4解决方案,其中有两个参考文献已经建立了大约2年没有问题.但是,在今天早上安装KB2993928KB2993937后,我们无法在Windows 7机器上运行此解决方案的FxCop.

我有一种感觉这是因为此更新更改了GAC中System.Web.Mvc程序集的DLL版本.这是因为在GAC中我现在可以找到3个不同的System.Web.Mvc DLL,它们今天都在更新.

我们在构建中收到的错误如下:

6>MSBUILD : error : CA0001 : The following error was encountered while reading module 'FrontEnd.Implementation': Assembly reference cannot be resolved: System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35. [C:\Project\FrontEnd\02-Implementation\02-Implementation.csproj]
6>MSBUILD : error : CA0058 : The referenced assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' could not be found. This assembly is required for analysis and was referenced by: S:\Deliverables\FrontEnd\bin\FrontEnd.Implementation.dll. [C:\Project\FrontEnd\02-Implementation\02-Implementation.csproj]
Run Code Online (Sandbox Code Playgroud)

由于我们使用ASP.NET MVC 4,因此我们的一个引用间接引用了此3.0版DLL.例如,RazorGenerator引用了3.0.0.0版.也可能是其他人.据我所知,没有新版本的RazorGenerator.

我在GAC中看到的System.Web.Mvc版本是:3.0.50813.1,4.0.40804.0和5.0.20821.0.

我从项目中删除了对System.Web.Mvc的引用,并将Mvc添加为NuGet包.这修复了我们的编译,但由于间接引用,FxCop仍然无法正常工作.

如果需要任何其他信息,请告诉我.

msbuild asp.net-mvc gac fxcop windows-update

11
推荐指数
1
解决办法
6560
查看次数

Window Update Broke MVC应用程序

我昨天运行了Windows Update,当我尝试发布我的ASP.NET MVC 4项目的新版本时,它引入了一些问题.

应用程序在本地编译并运行正常,但是当我将版本推送到我的网络服务器上的测试站点时,它会出现错误消息:

System.Web.HttpCompileException: (0): error CS1705: Assembly 'App_Code, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
Run Code Online (Sandbox Code Playgroud)

经过一些研究后,我发现这是由于从4.0.0.0更新到4.0.0.1.我从我的项目中删除了System.Web.Mvc dll并读取了具有更高版本的dll.一切都在本地工作,但不在网络上.然后我浏览了web.config并将任何提及的4.0.0.0更改为4.0.0.1.同样,这继续在内部工作但在外部失败.错误消息是:

    
Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) 

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack …

asp.net-mvc asp.net-mvc-4

9
推荐指数
1
解决办法
1万
查看次数