2010-08-16 5 views
1

ClickOnce을 통해 SQL Express 2005에 게시하는 내부적으로 사용하는 Winform 응용 프로그램이 있습니다.이 응용 프로그램은 또한 Microsoft.SqlServer dll 파일을 참조합니다. 특정 버전 설정이 어떻게 작동하는지 파악하려고합니다. 2005 년 컴퓨터에 SQL 2008이 설치되어 있습니다.Visual Studio 참고 자료 : 특정 버전 설정 질문

Specific Version = false을 선택하면 사용자가 SQL 2005를 사용하거나 DLL에 의존하게됩니다.

구체적으로 말해서 Specific Version을 지정하지 않으면 해당 DLL의 모든 버전에 대해 GAC가 표시됩니다.

답변

3

"특정 버전"은 컴파일 할 때만 관련이 있으며 런타임에는 효과가 없습니다. False로 설정하면 참조 어셈블리의 [AssemblyVersion]이 변경 될 때 IDE에서 불평하지 않습니다. 그다지 좋지 않은 아이디어인데, 어셈블리가 변경 되었기 때문에 코드에서 변경해야 할 사항을 알고 있어야합니다.

CLR은 GAC에있는 어셈블리의 버전을 찾지 않습니다. 일치 검색 만 허용됩니다. 기본 정책이므로 앱의 .config 파일에서 <bindingRedirect>으로 재정의 할 수 있습니다.

Afaik에는 SQL Server 버전 번호와 관련된 SQL Server 공급자가 없습니다. 그것에 대해서는 확실히 확신하지 못합니다.

1

SQLExpress 제품과 관련이있는 MSFT의 누군가는 이미 설치되어 있는지 Visual Studio의 부트 스트 래퍼 패키지의 일부인 프로그램을 가지고 있다는 것을 알아내는 것이 어렵다고 말했습니다. (나는 SQLServer를 설치하는 것이 얼마나 어려운지에 관해 불평했다.)

SQLServer 데이터베이스에 연결하여 사용하기위한 코드를 작성하는 것은 버전에 특정한 것이 아니며 Microsoft는 이전 버전과의 호환성을 유지하기 위해 노력하고 있습니다.