[.net] Windows 업데이트로 인해 MVC3 및 MVC4 작동이 중지됨
내가 10 월 15 일에 Windows Update (8.1)를 설치 한 유일한 사람이며이 경고로 인해 갑자기 MVC가 작동을 멈 춥니 다.
경고 1이 참조를 해결할 수 없습니다. 어셈블리 “System.Web.Mvc, 버전 = 4.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35, processorArchitecture = MSIL”을 찾을 수 없습니다. 디스크에 어셈블리가 있는지 확인하십시오. 코드에이 참조가 필요한 경우 컴파일 오류가 발생할 수 있습니다.
이 Windows 업데이트는 버전 번호 4.0.0.1의 최신 MVC 버전을 설치하고 프로그램 파일 폴더에서 이전 버전을 제거하는 것으로 보입니다.
누군가 각 프로젝트를 크롤링하지 않고이 문제를 해결하는 방법을 알고 있습니까?
답변
가장 좋은 해결책은 DLL을 버전 4.0.0.1로 업데이트하는 것입니다. 너겟을 사용해보십시오.
Install-Package Microsoft.AspNet.Mvc -Version 4.0.40804 -Project <your project name>
이것은 자동으로 업데이트됩니다
<dependentAssembly> <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> <bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" /> </dependentAssembly>
다음에서 버전 System.Web.Mvc를 수동으로 편집해야합니다.
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
답변
빌드를 진행 하려면 각 .csproj 를 수동으로 터치 하여 버전을 4.0.0.0 에서 4.0.0.1 로 업데이트해야했습니다 . 꽤 아.니다.
새로운 참조는 다음과 같아야합니다.
<Reference Include="System.Web.Mvc, Version=4.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL" />
답변
업데이트 후 동일한 문제가 발생했습니다.
Microsoft ASP.NET MVC 4.0 용 보안 업데이트 (KB2993928)
http://support.microsoft.com/kb/2993928
그러나 패키지로 설치되지 않은 System.Web.Mvc를 참조하는 프로젝트에만 해당됩니다.
Microsoft ASP.NET MVC 4.0 Runtime을 설치하지 않았고 업데이트를받지 못한 동료는 문제가 없었으며 4.0.0.1이 아닌 4.0.0.0에
대한 참조를 수동으로 참조를 4.0.0으로 변경했습니다. . 1 , 체크인 후에도 동료가 4.0.0을 참조하여 빌드 할 수 있습니다. 0 .
(Win7 Pro SP1, VS2013 Pro 업데이트 3에서 모두 작동)
답변
이 블로그를 참조하십시오. 권장되는 방법은 해당 NuGet 패키지를 업데이트하는 것입니다.
인용 :
다음 솔루션 중 하나를 구현하여 문제점을 해결할 수 있습니다.
(권장) NuGet 갤러리에서 Microsoft.AspNet.Mvc를 설치합니다 (web.config에 바인딩 리디렉션이 설치됨). NuGet 패키지 관리자 또는 Visual Studio의 NuGet 콘솔에서이 작업을 수행 할 수 있습니다.
설치 패키지 Microsoft.AspNet.Mvc-버전 -Project PROJECTNAME
MVC 4 버전 : 4.0.40804.0
MVC 3 버전 : 3.0.50813.1
System.Web.MVC.dll에 대한 참조를 수동으로 업데이트하십시오 (GAC에서 참조를 사용하지 마십시오).
참조 추가-> 어셈블리-> 확장 대화 상자를 사용해보십시오.
답변
이 참조 : 마이크로 소프트 Asp.Net MVC 보안 업데이트 MS14-059 내 빌드를 부러! MS는 분명히 많은 혼란을 가져 왔기 때문에 그것에 대해 블로그를 작성했습니다.
답변
웹 프로젝트의 경우 web.config에서 구성을 업데이트해야 할 수도 있습니다.
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.1"/>
</dependentAssembly>
답변
솔루션 내에서 모든 참조를 System.Web.Mvc로 변경해야합니다. 그냥 삭제하고 새로운 4.0.0.1 버전을 추가하십시오.
또한 속성 copy local
에서 true로 변경하십시오 .
그리고 web.config에서 새 버전의 mvc를 가리 키도록 assambly 바인딩을 추가하십시오.
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
</dependentAssembly>
</assemblyBinding>
</runtime>