2009-06-01 3 views
0

Microsoft 엔터프라이즈 라이브러리의 데이터 액세스 응용 프로그램 블록 4.1을 사용하는 동안 배포시 이상한 문제가 있습니다.DAAB 4.1을 사용하여 배포 된 프로젝트에서 런타임 오류가 발생했습니다.

Exception information: 
Exception type: BuildFailedException 
Exception message: The current build operation (build key Build Key[Microsoft.Practices.EnterpriseLibrary.Data.Database, DBNAME]) failed: The type initializer for 'Microsoft.Practices.EnterpriseLibrary.Data.Database' threw an exception. (Strategy type ConfiguredObjectStrategy, index 2) 

내 Web.config의이 connectionStrings에 대한 다음과 같은 섹션이 있습니다 :

<connectionStrings configSource="data.config" /> 

그리고 데이터 DAAB를 이용하여 웹 애플리케이션의 요소를 사용하려고 할 때 나는 다음과 같은 처리되지 않은 예외를 얻을. 설정은 예외 참조 DBNAME에 대한 항목이 포함되어

<?xml version="1.0"?> 

<connectionStrings>` 

<add name="dbname" 
    providerName="System.Data.SqlClient" 
    connectionString="[valid information here]" /> 

</connectionStrings> 

내가 연결 문자열이 유효 알을 D를 사용하지 않는 응용 프로그램의 부분 때문에 데이터 액세스 용 AAB는 문제없이 동일한 연결 문자열을 사용합니다. 또한, 내 개발 컴퓨터뿐만 아니라 다른 개발자의 컴퓨터에서도 문제가 없습니다. 이는 프로덕션 서버로의 배포에서만 발생하며 해당 버전이 내 로컬 시스템에서도 잘 실행되기 때문에 "릴리스"빌드에 국한되지 않습니다.

프로덕션 서버의 구성 문제 일 가능성이 있지만 그 원인을 파악하지 못했습니다. Enterprise Library 배포에 대한 MSDN 기사에서 어셈블리의 xcopy 배포가 작동해야 함을 언급하고이를/bin 폴더에 포함 시키므로 어디서부터 이동할 것인지 잘 모르겠습니다. 어떤 아이디어?

답변

0

마지막으로 알아 냈습니다. Enterprise Library 4.1에는 Framework 3.5가 필요하며 우리의 응용 프로그램을 위해 Framework 2.0을 여전히 목표로하고 있지만 3.5는 Visual Studio 2008을 사용하여 개발 컴퓨터에 설치됩니다. 그러나 Framework 3.5는 프로덕션 서버에 설치하지 않았으며 그렇게 한 후에 문제가 사라졌습니다.

수수께끼 같은 점은 엔터프라이즈 라이브러리에 의존하는 것을 포함하여 내 솔루션의 모든 프로젝트에서 컴파일을 위해 2.0을 명시 적으로 타겟팅한다는 것입니다. 3.5를 요구하는 어셈블리를 참조하면 적어도 경고를 생성한다고 생각할 수 있습니다. 편집. 오 잘.

1

글쎄, 참조를 추가 할 때 경고 메시지가 표시됩니다. 그것이 적어도 내 컴퓨터에서 어떻게 작동하는지입니다. 따라서 불만 사항에 대한 확실한 근거가 없습니다. :)

그러나 예외 메시지는 완전히 모호합니다. 정보에 감사드립니다.

관련 문제