방금 VS 2015로 전환했습니다. 4.52에 비해 실행되는 오래된 MVC 5 앱이 있습니다. VS 2013에서는 완벽하게 괜찮습니다.
VS 2015에서 나는 내 밑에서 빨간 불 덩어리가 나옵니다.@Html.TextBoxFor()
다음과 같은 오류가 표시됩니다.
'표현식 < > 유형은 참조. 어셈블리 'System.Core에 대한 참조를 추가해야합니다. 버전 = 4.0.0.0, 문화 = 중립, PublicKeyToken = b77a5c561934e089 '.
프로젝트가 제대로 빌드되고 실행됩니다. 그러나 VS 2013에서 발생한 적이없는 IntelliSense 오류가 걱정됩니다. 좋습니다. 위의 오류에서 권장하는대로 System.Core에 대한 참조를 추가하려고합니다. 그러면이 오류가 발생합니다.
'System.Core'에 대한 참조를 추가 할 수 없습니다. 이 구성 요소는 빌드 시스템이 이미 자동으로 참조합니다.
다시 말하지만, VS 2013에서는 정상입니다.
나는 똑같은 문제가 있었지만 그 말은 대답을 찾았습니다.
web.config에 다음 참조를 추가해야했습니다 (여는 system.web 태그 내부에 추가).
<compilation debug="true" targetFramework="4.5">
<assemblies>
<add assembly="System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
<add assembly="Microsoft.CSharp, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
<add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.WebPages, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
또한 대상 프레임 워크를 4.5.1에서 4.5로 변경했습니다.
p.s Visual Studio를 변경 한 다음 닫았다가 다시 엽니 다.
나는 이들 중 대부분을 시험해 보았습니다. 결국 나를 위해 일한 것은 프로젝트를 언로 드하고 csproj 파일을 편집 한 후 다음을 추가하는 것이 었습니다.
<Reference Include="System.Core" />
System.Runtime
. - Todd Menier
솔루션을 삭제하고 소스 컨트롤에서 솔루션을 가져 오면 .vs 폴더를 제거하고 "devenv.exe / resetuserdata"가 내 문제를 해결하지 못해 VS2015를 시작했지만 MEF 구성 요소 캐시를 제거하면 이벤트가 해결되지 않았습니다.VS 2015에서 작동하지 않는 면도기 인텔리 센스답변.
4.5.2에서 4.6.1로 업데이트 할 때부터 내 견해에서 정확한 오류가 발생했습니다. 솔루션을 빌드하고 실행하는 것은 아무 문제가 없었습니다. 여기에 이미 게시 된 모든 솔루션을 시도한 후에 (또한 작업에 대한 인텔리 센스 확인, 캐시 지우기, bin 및 obj 폴더 제거, 프로젝트로드 및 다시로드) system.core는 이미 올바르게 작성되었으며이 참조를 Web.config는 아무 것도하지 않았습니다.) 나는 파기를했고 결국 오류가 발생한 프로젝트에서 Web.config 파일에 두 개의 컴파일 디버그 대상 프레임 워크와 다른 httpRuntime 대상 프레임 워크가 있다는 것을 알았습니다. 이렇게 :
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.6.1" />
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.1" />
...
해결책은 추가 컴파일 디버그 타겟 프레임 워크를 제거하고 모든 타겟 프레임 워크가 내가 원하는 것임을 확인하여이를 해결하는 것이 었습니다 (4.6.1)
<system.web>
<authentication mode="None" />
<compilation debug="true" targetFramework="4.6.1" />
<httpRuntime targetFramework="4.6.1" />
...
다른 것이 없다면 이것을 다시 확인하십시오. 희망은 누군가를 돕는다!
다른 스택 오버플로 스레드에서 이러한 및 다른 솔루션을 시도했다. 아무도 일하지 않았다.
무엇이 효과가 있었는지는 Visual Studio의 시스템 설정, 응용 프로그램 & amp; 기능 하위 메뉴 (VS를 클릭하고 "복구"를 선택). 몇 시간이 걸렸지 만 문제는 사라졌습니다.
제 경우에는 태그를 변경 한 후에 작동합니다.<ProjectGuid>
...에서.csproj
~에 파일<ProjectGuid>{6C651A5E-8DDA-4680-804E-F9596743CBE8}</ProjectGuid>
및 솔루션을 다시 엽니 다. 위에 게시 된 모든 솔루션이 저에게 효과적이지 않았습니다.