2011-08-12 4 views
2

Resharper에서 가장 최신의 버전, 즉 버전 6을 설치했습니다.이 기능 목록은 includes support for Razor입니다. 그러나 면도기에 사용할 때 이상한 오류가 발생합니다. 나는 면도기를 사용 About.cshtml에서 다음과 같은 간단한보기가 있습니다. ""내가 쓰기 시작했을 때 나는이에 넣어 때면도기에 Resharper6을 사용하는 경우의 문제

@{ 
    ViewBag.Title = "About"; 
} 
<h2>About</h2> 

"ViewBag"R # 6 날이 단어를 자동으로 완성하는 데 도움이, 및 그것은 "Title"이 ViewBag 객체에서 사용 가능한 속성 중 하나라는 것을 알려줍니다. 그러나, ViewBag는 구불 구불 한 선으로 밑줄, 그리고 오류 : 동적 표현을 컴파일하는 데 필요한

하나 이상의 유형을 찾을 수 없습니다. Microsoft.CSharp.dll 및 System.Core.dll에 대한 참조가 누락 되었습니까?

:

는 모두의가 ..이 기본 예제라고합니다,하지만 난이 면도기 코드의 모든 라인에서 같은 오류가 존재하는 이러한 DLL은 .. 일부 장소는 다른 오류-MSG하지만 줄

모듈 'mscorlib', 버전 4.0.0.0, 문화 = 중립, PublicKeyToken = b77a5c561934e089 '를 참조해야합니다. 내 프로젝트에서이에 대한 참조를 추가하려고

알려줍니다 :

'mscorlib에'에 대한 참조를 추가 할 수 없습니다. 이 구성 요소는 이미 빌드 시스템에서 자동으로 참조됩니다.

누구나 동일한 오류가 표시됩니까? 이 문제를 해결하고 구불 구불 한 선을 없애려면 어떻게해야합니까?

+0

RS6과 동일한 문제가 없습니다 ... 그리고 '제목'에 대한 제안을받지 못했습니다. RS6이 어떻게 동적 객체 상에'Title' 속성이 있는지 알아야하는지조차 모르겠습니다. –

+0

이것은 RS6 오류가 아니며 MVC3의 베타 버전을 설치 한 것과 같은 오류가 발생했습니다. MVC3을 완전히 제거한 다음 올바르게 작동하려면 MVC3을 다시 설치해야했습니다. – Phill

+0

방금 ​​MVC3과 R # 6의 공식 릴리스를 설치 했으므로 다시 실행해야한다면 놀라게 될 것입니다.하지만 같은 문제가 있었는데이 문제가 수정되었습니다. – stiank81

답변

3

문제는 이제 알아 냈습니다 ... 이것은 기존 프로젝트에서 단지 문제 였고 새로운 프로젝트를 시작할 때 문제가되지 않는 것으로 나타났습니다. 기존 프로젝트에는 Web.Config 파일이 없습니다. 대신 우리는 비슷한 이름의 설정 파일들 (Web.Dev.Config, Web.Test.Config, Web.Prod.Config 등)을 가지고 있으며, 우리는이 중 하나를 우리의 빌드 과정에서 Web.Config으로 복사한다. 이것은 Resharper의 문제입니다. Resharper는 Web.Config 프로젝트 파일에서 몇 가지 면도기 참조를 찾고, 그 참조를 찾을 수 없으면 .cshtml 파일을 파싱하는 데 문제가 발생합니다.

그래서; Resharper with Razor를 사용하려면 프로젝트에 Web.Config 파일이 있어야합니다!

+1

아주 잘 잡습니다. –

+1

사실, 좋은 캐치. Web.Config가 Web.Config Transformers에 내장 된 새로운 것을 사용하도록 변환하는 것이 가치가 있습니다. 따라서 서로 다른 web.config 파일을 사용하여 서로 다른 빌드 구성을 지정할 수 있습니다. http://weblogs.asp.net/scottgu/archive/2010/07/29/vs-2010-web-deployment.aspx (Web Config Transforms) – Phill

+0

링크 Phx! – stiank81

0

같은 문제가있었습니다. stiank81의 답변은 올바른 방향으로 나를 설정했지만 몇 가지 예를 놓쳤습니다. 여기에 예제가 나와 있습니다. web.config. 그래서, ReSharper에서 말한다 경우 :

모듈 '의 AssemblyName, 버전 = 1.xxxxx, 문화 = 중립, PublicKeyToken = null이'는

다음 프로젝트에이 Web.config의 추가 참조해야한다

<?xml version="1.0"?> 
<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0" > 
     <assemblies> 
     <add assembly="AssemblyName, Version=1.x.x.xxx, Culture=neutral, PublicKeyToken=null" /> 
     </assemblies> 
    </compilation> 
    </system.web> 
</configuration> 
관련 문제