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.0에서 4.0.0.1로 변경했습니다.
그런 다음 System.Web.Mvc의 속성으로 이동하여 (제거하고 다시 추가했기 때문에) 복사본을 로컬로 true로 변경해야했습니다.
이것이 누군가에게 도움이되기를 바랍니다.
솔루션 내에서 모든 참조를 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>
@Krzysztof 솔루션 또는 위의 다른 답변을 시도한 후에도 여전히 같은 오류가 발생하면 MVC 런타임 4.0 을 제거하는 것이 좋습니다.
참고 URL : https://stackoverflow.com/questions/26393157/windows-update-caused-mvc3-and-mvc4-stop-working
'Programming' 카테고리의 다른 글
| 마진을 0으로 맞추지 못하는 이유는 무엇입니까? (0) | 2020.07.07 |
|---|---|
| GitHub의 이슈에서 기존 브랜치를 어떻게 참조합니까? (0) | 2020.07.07 |
| Python3 정수 나누기 (0) | 2020.07.07 |
| NPM 클린 모듈 (0) | 2020.07.07 |
| 모의 대 MagicMock (0) | 2020.07.07 |