성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] Roll A Lisp In C - Reading ; https...
[정성태] Java - How to use the Foreign Funct...
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
제니퍼 .NET
닷넷
COM 개체 관련
스크립트
VC++
VS.NET IDE
Windows
Team Foundation Server
디버깅 기술
오류 유형
개발 환경 구성
웹
기타
Linux
Java
DDK
Math
Phone
Graphics
사물인터넷
부모글 보이기/감추기
내용
<div style='display: inline'> <br /> <div class='mainCenterTitle'>System.ComponentModel.LicenseException</div><br /> <br /> 미리 말씀드리자면, 이번 오류의 직접적인 해답은 찾지를 못했습니다. 제 컴퓨터에서만 발생하는 것을 보면, x64 버전의 Vista 환경 때문인 것 같기도 하고, 또는 Orcas 베타 버전을 함께 설치해서 발생하는 것 같기도 합니다.<br /> <br /> 아무튼, ChartFX 컨트롤을 사용하는 시점부터, 빌드 시에 licenses.licx 파일 때문에 다음과 같은 오류가 발생을 했습니다.<br /> <br /> <pre class='code'> ------ Rebuild All started: Project: RealTimeCharts, Configuration: Release Any CPU ------ Properties\licenses.licx(10): error LC0004: Exception occurred creating type 'ChartFX.WinForms.Chart, ChartFX.WinForms, Version=7.0.2664.18481, Culture=neutral, PublicKeyToken=a1878e2052c08dce' System.ComponentModel.LicenseException: <b>Couldn't get Design Time license for 'ChartFX.WinForms.Chart'</b> Done building project "RealTimeCharts.csproj" -- FAILED. </pre> <br /> 좀 더 자세한 빌드 오류 정보를 얻기 위해, 아래와 같이 MSBuild 옵션을 조정했습니다.<br /> <br /> <img alt='lc_compile_error_1.png' src='/SysWebRes/bbs/lc_compile_error_1.png' /><br /> <br /> 그런 후, 빌드를 했더니 다음과 같은 명령행 정보를 알 수 있었습니다.<br /> <br /> <pre class='code'> Task "LC" Command: C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin\LC.exe /target:RealTimeCharts.exe /complist:Properties\licenses.licx /outdir:obj\Debug\ /i:"C:\Program Files (x86)\Chart FX for Visual Studio 2005\bin\ChartFX.WinForms.Adornments.dll" /i:"C:\Program Files (x86)\Chart FX for Visual Studio 2005\bin\ChartFX.WinForms.Base.dll" /i:"C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\PublicAssemblies\ChartFX.WinForms.dll" /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Deployment.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Design.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Drawing.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Management.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Windows.Forms.dll /i:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Xml.dll The "LC" task is using "LC.exe" from "C:\Program Files (x86)\Microsoft Visual Studio 8\SDK\v2.0\bin\LC.exe". Microsoft (R) .NET License Compiler [Microsoft .Net Framework, Version 2.0.50727.1318] Copyright (c) Microsoft Corporation. All rights reserved. Processing complist 'Properties\licenses.licx'... Properties\licenses.licx(1): error LC0004: Exception occurred creating type 'ChartFX.WinForms.Chart, ChartFX.WinForms, Version=7.0.2664.18481, Culture=neutral, PublicKeyToken=a1878e2052c08dce' System.ComponentModel.LicenseException: <b>Couldn't get Design Time license for 'ChartFX.WinForms.Chart'</b> <b>at System.ComponentModel.LicenseManager.CreateWithContext(Type type, LicenseContext creationContext, Object[] args) at System.Tools.LicenseCompiler.Main(String[] args)</b> The command exited with code -1. Done executing task "LC" -- FAILED. Done building target "CompileLicxFiles" in project "RealTimeCharts.csproj" -- FAILED. </pre> <br /> System.ComponentModel.LicenseException 예외를 설정해서 오류 내용을 살펴보면, ChartFX 생성자에서 발생하는 것을 알 수 있었습니다. 허허... 이것 참. 도대체 생성자에서 발생하면 어떡하라는 것인지.<br /> <br /> Infragistics와는 달리, ChartFX는 소스 코드 공개는 고사하고 obfuscator 도구를 사용해서 IL 코드를 분석하기 어렵게 만들어 놓았습니다. 덕분에 시간내서 굳이 분석하고 싶은 마음마져 ^^; "고사"되어 버리더군요.<br /> <br /> 그럼, 이걸 어쩔까 생각하다가,,, 그냥 라이선스 파일에 대한 빌드 과정을 없애기로 했습니다.<br /> <br /> 이를 위해 다음과 같은 MSBuild 파일을 열어서,<br /> <br /> <pre class='code'> VS.NET 2005 : C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets Orcas Beta1 : C:\Windows\Microsoft.NET\Framework\v3.5.20404\Microsoft.Common.targets VS.NET 2008 : C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets </pre> <br /> 아래의 LC Task 부분을 주석 처리해 버렸습니다.<br /> <br /> <pre class='code'> <Target Name="CompileLicxFiles" Condition="'@(_LicxFile)'!=''" DependsOnTargets="$(CompileLicxFilesDependsOn)" Inputs="$(MSBuildAllProjects);@(_LicxFile);@(ReferencePath);@(ReferenceDependencyPaths)" Outputs="$(IntermediateOutputPath)$(TargetFileName).licenses"> <b><!--LC</b> Sources="@(_LicxFile)" LicenseTarget="$(TargetFileName)" OutputDirectory="$(IntermediateOutputPath)" OutputLicense="$(IntermediateOutputPath)$(TargetFileName).licenses" ReferencedAssemblies="@(ReferencePath);@(ReferenceDependencyPaths)" ToolPath="$(LCToolPath)"> <Output TaskParameter="OutputLicense" ItemName="CompiledLicenseFile"/> <Output TaskParameter="OutputLicense" ItemName="FileWrites"/> <b></LC--></b> </Target> </pre> <br /> 어차피, 빌드 서버의 바이너리가 배포될 것이었기 때문에 제 노트북 PC의 빌드는 아무래도 좋았기 때문에.<br /> <br /> 그나저나... 이런 문제는 제발 발생하지 않았으면 좋겠습니다. 공수 산정하기도 어려운... <br /> <br /><br /><hr /><span style='color: Maroon'>[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]</span> </div>
첨부파일
스팸 방지용 인증 번호
2048
(왼쪽의 숫자를 입력해야 합니다.)