2011-01-26 7 views
23

web.config에 대한 일반적인 질문과 어셈블리 참조와 관련하여 작동하는 방법에 대해 알아 보겠습니다. 나는 새로운 Razor 뷰 엔진을 가지고 놀고 있었고 설치하는 데 어려움을 겪었습니다.web.config 내에 어셈블리 참조 추가하기

내 문제는 (당신이 어셈블리를 참조 누락?)

'XXXXX' 네임 스페이스 'XXXXX'에 존재하지 않는 일반

형식 또는 네임 스페이스 이름으로 시작

이제이 프로젝트에 대한 간단한 참조 추가만으로도 내 길을 갈 수있을 것이라고 생각했습니다. 그러나 누락 된 어셈블리에 대한 참조를 추가 한 후에도 프로젝트는 계속 파괴되었습니다.

해결책을 찾았으므로 web.config 내에 어셈블리 참조를 추가해야했습니다. 일단 내가 이것을하면 모든 것이 잘 작동했다.

처음으로이 문제를 해결하기 위해 web.config에 대한 참조가 추가 된 이유를 알고 싶습니다. 왜 프로젝트 레퍼런스가 충분하지 않았습니까?

두 번째은 web.config에서 참조를 추가 할 때 구문을 이해하고 싶습니다. 나는이

<add assembly="System.Web.WebPages" />

같은 마크 업을 볼 때 내가 어셈블리를 이름 System.Web.WebPages를 추가 해요 저에게 아주 명확 보인다. 하지만 내 Web.config의에서 전체 구문은

<add assembly="System.Web.WebPages, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

버전이 자기 설명을 것입니다,하지만 문화이며, PublicKeyToken이 사용? 그들은 필요합니까? 내가 그 중 어느 것을 모른다면 어떻게 될까? 나는 무엇이든 넣을 수 있을까?

답변

7

응답하여 질문 :

또 다른 SO 유용한 답을 여기에 질문 있습니다

:

What is difference between web.config assemblies element and project file Reference element

기본적으로는 웹 프로젝트 및 비 - 웹 프로젝트에서의 차이와 함께 할 것입니다 Visual Studio (나는 그것을 이해함).

응답하여 질문 :이 주위를 파고의 꽤했다하지만 여기 당신이가는

:

문화 - 대부분의 어셈블리는 중립 문화권해야한다 (이것은 응용 프로그램에서 설정되었다고 가정). 그러나 문화적으로 민감한 어셈블리가있는 경우 어셈블리의 문화권을 지정합니다.

PublicKeyToken -이 키는 어셈블리에 서명하는 데 사용 된 공개 키/개인 키 쌍의 공개 키입니다. 이렇게하면 .NET에서로드중인 어셈블리가 올바른지 확인할 수 있습니다.여기

더 유용한 정보 :

http://en.wikipedia.org/wiki/.NET_assembly

3

오래된 질문에 이미 대답,하지만 난 그것을 가로 질러 와서 추가하고 싶었 :

공개 키 토큰의 중요성이 있다는 것이다 강력한 이름의 어셈블리에 절대적으로 필요합니다. 사실 PKT를 얻는 방법입니다. 어셈블리 서명 (강력한 이름 키 생성). 그리고 서명하지 않고 GAC에 어셈블리를 저장할 수 없습니다.

어셈블리를 식별하는 것 이상으로 .NET의 어셈블리 서명을 확인하고 변조되지 않았 음을 보장하는 암호화 방법입니다.

0

누구나이 대답으로 '뛰어 다니며'있는 것처럼 보입니다. 간단합니다 :

<configuration> 
    <system.web> 
     <compilation debug="true" strict="false" explicit="true" targetFramework="4.0"> 
      <assemblies> 
       <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
      </assemblies> 
     </compilation> 
    </system.web> 
</configuration> 
+0

이 답변은 OP의 질문에 대한 답변이 아닙니다. Culture 및 PublicKeyToken은 무엇에 사용됩니까? 그들은 필요합니까? 내가 그 중 어느 것을 모른다면 어떻게 될까? 나는 무엇이든 넣을 수 있을까? –