VS 2008 Beta 2 가 출시되고, 오래되지 않아 VS 2008 Beta 2 한글판이 출시되었다. 하지만, 출시가 되면서 많은 버그 리포트들이 쏟아져 나왔고, 실제 그 버그들을 몸소 체험하게 되는 불운을 격게 되었다. -_-; 버그 중에 VS 2005 과 VS 2008 Beta 의 동시 설치시에 발생하는 문제 몇가지를 살펴 보고, 이에 대한 해결책을 찾아 보기로 하자.
 
VS 2005 이후 VS 2008 Beta 2 의 설치 후 발생하는 문제점
VS 2008 Beta2 설치시 VS 2005 를 통한 AJAX 웹사이트 배포 오류
VS 2008 Beta2 한글판을 설치시 VS 2005 의 XML 코드주석이 모두 영어로 변경되는 오류
 
 
첫번째, VS 2008 Beta2 설치 후 VS 2005 의 AJAX 웹사이트 배포 오류
 
우선 오류 내용은 다음과 같다.
 
'/' 응용프로그램에서버오류가있습니다.

파서오류
설명: 요청을제공하는필요한리소스를구문분석하는동안오류가발생했습니다. 아래의구문분석오류정보를확인한다음소스파일을적절하게수정하십시오.

파서오류메시지: 파일이나어셈블리 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 또는여기에종속되어있는파일이나어셈블리하나를로드할없습니다. 지정된파일을찾을없습니다.

소스오류:
 
1: <%@ page language="C#" autoeventwireup="true" inherits="_Default, App_Web_default.aspx.cdcab7d2" %>
2: <%@ Import Namespace="Umc.Core.Modules.Blog" %>
3: <%@ Import Namespace="Umc.Core.WebAdmin.Sitemap" %>

소스파일: /Default.aspx    : 1

어셈블리로드추적:다음정보는 'System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' 어셈블리를로드할없는이유를알아내는도움이됩니다.
 
경고: 어셈블리바인딩로깅이꺼져있습니다.
어셈블리바인딩오류로깅기능을사용하려면레지스트리 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) 1설정하십시오.
참고: 어셈블리바인딩오류로깅기능을사용하도록설정하면그렇지않은경우보다성능이약간떨어집니다.
기능을끄려면레지스트리 [HKLM\Software\Microsoft\Fusion!EnableLog]제거하십시오.
 

버전정보: Microsoft .NET Framework 버전:2.0.50727.832; ASP.NET 버전:2.0.50727.832
 
아에 , .NET Framework 3.5 (Pre Release Version 을 삭제하게 되면, 또다시 VS 2008 Beta2 에 다음과 같은 오류가 발생하게 된다.
 
[
그림1] .NET Framework 3.5 (Pre Release Version) 제거 후 VS 2008 Beta 오류
 
위와 같이 VS 2008 Beta 에서 프로젝트를 제대로 로드하지 못하게 된다.
 
다시 처음으로 되돌아 가서 VS 2008 Beta 부터 기본적으로 포함되는 System.Web.Extension 3.5(AJAX.NET) 어셈블리가 기존 VS 2005 의 System.Web.Extension 1.0 버전을 무시한 채 컴파일 되는 것 같다. 그래서 아무리 VS 2005 의 AJAX 웹프로젝트를 아무리 컴파일 하여도 배포 후엔 위와 같은 응용 프로그램 오류가 된다.
 
해결책은 다음의 블로그 글을 참고하도록 하자.
http://blogs.msdn.com/webdevtools/archive/2007/07/30/using-vs-2008-to-target-asp-net-ajax-1-0.aspx
 
또한, 이 부분에 대해 이미 Scott 아저씨는 해당 오류를 패치 할 수 있는 BAT 파일을 선보였다.
 
Important Beta 2 Information
A few days before we shipped Beta2 on the web, we discovered a side-by-side issue with ASP.NET AJAX.  If you read my original VS 2008 and .NET 3.5 Beta Released blog post, you'll remember that I called out this post-install patch step to fix this issue:
You should download and run this batch file.  This takes only a few seconds to run, and fixes an issue we found earlier this week with the version policy of System.Web.Extensions.dll - which is the assembly that contains ASP.NET AJAX.  If you don't run this batch file, then existing ASP.NET 2.0 projects built with ASP.NET AJAX 1.0 and VS 2005 will end up automatically picking up the new version of ASP.NET AJAX that ships in .NET 3.5 Beta2.  This will work and run fine - but cause you to inadvertently introduce a .NET 3.5 dependency in the applications you build with VS 2005.  Running the batch file will change the version binding policy of the new System.Web.Extensions.dll assembly and ensure that you only use the new .NET 3.5 ASP.NET AJAX version with projects that you are explicitly building for .NET 3.5.
 
위의 링크를 통해 오류를 패치할 수 있는 BAT 파일을 다운받아 실행하면, 문제는 깔끔하게 해결된다.
 
 
 
두번째, VS 2008 Beta2 한글판을 설치시 VS 2005 의 XML 코드주석이 모두 영어로 변경되는 오류
 
이 내용은 VS 2008 Beta2 영문판을 설치 하였다면 상관없는 부분이다. 만약, 자신이 VS 2008 Beta2 한글판을 설치하였다면, VS2005 의 XML 코드주석이 모두 영문으로 바뀌게 되는 걸 알 수 있다.
 
[
그림2] VS 2008 Beta2 한글판 설치 후 VS 2005 의 코드주석이 영문으로 변함.
 
아쉽게도 이 문제점은 아직 해결책을 찾지 못했다. .NET Framework 2.0 어셈블리의 XML 코드 주석 내용이 모두 영문으로 변경되어, 해당 .XML 파일을 모두 교채해 보았지만 여전히 문제는 해결되지 않았다. 아마, .XML 코드주석 파일을 통째로 .NET Framework 3.5 어셈블리의 XML 파일에서 참조하는 것 같다는 느낌이다.
 
비록 해결책은 아니지만, VS 2008 Beta2 의 한글판을 지우고, 영문판을 설치하면 문제는 해결 될 수 있다. 단, 아래의 [그림3] 과 같이 VS 2005 의 기능/추가를 통해 Visual C# 과 .NET Framework SDK 를 재설치 한 후, VS 2008 Beta2 영문판을 설치해야 한다는 것에 반드시 주의 하도록 하자.
 
[
그림3]
 
위의 빨간색 영역의 체크박스를 푼 후, 다시 클릭하여 체크박스를 체크하게 되면 해당 기능만 재설치 할 수 있다. 순서를 정확히 지키면서 따라하게 된다면, XML 주석코드의 문제를 해결할 수 있다.
 
 
VS 2008 정식 버전을 기대하며
좋은 주말임에도 불구하고, 위 두가지 문제 때문에 하루종일 너무나도 많은 삽질을 했다. 아마 VS 2008 Beta2 만해도 한글판, 영문판 을 번갈아 가며 15번 이상 설치/제거를 한 것 같다 OTL. 아직 Beta 버전이라 이 정도의 아량은 갖아야 정신건강에 이로울 것 같다. 부디, 다음 사람들은 이러한 문제로 삽질을 하지 않았으면 하는 바램이다.
Posted by 땡초 POWERUMC

댓글을 달아 주세요