Study/C#

Third-party library 사용에 있어서 visual studio와 C# version 그리고 .NET framework 확인의 중요성

13.d_dk 2020. 2. 20. 19:37
728x90
반응형

왜 나는 제목과 같은 내용이 중요하다고 하는가?!

 C# WPF을 사용하여 코딩을 할 때는 통합 개발 환경 (IDE; Integrate Development Environment)로 visual studio를 많이 선택하게 된다. 또한 여러 외부 라이브러리를 많이 사용하게 된다. 모든 코드를 A-Z까지 작성하는 것은 바보 같은 일이므로 똑똑한 누군가가 잘 만들어 놓은 것을 잘 활용하는 게 꽤나 많이 중요하다.

 이때 library를 원하는대로 설치하는 것이 어려운데 그 이유는 호환성 때문이다. 우리가 사용하는 이 개발 환경에 맞는 library를 설치해야지만 온전히 그 library를 document와 예제를 참고해가면서 사용할 수 있을 것이다. 꼭 최신 버전이 아니더라도 이전의 버전을 설치하여 잘 활용하는 것이 꽤나 중요하다. 보편적으로 많이 사용되는 library인데 버전의 이유로 환경의 이유로 사용할 수 없는 것은 타격이 크다. 그렇다고 환경을 엎어버릴 수는 없다. 특히 제조업과 같이 하드웨어의 사양과 함께 개발을 해야 하는 환경이면 더욱이 어렵다.

 최근 전임자분들이 설치없이 dll만을 인수인계하여 사용하던 helix toolkit이라는 library를 설치하기 위해서 고생했는데 이유가 간단한 부분에 있어서 정리하고자 한다. 필자가 고생한 이유는 기본적인 것을 확인하지 않아서 설치할 수 없거나 에러가 발생한 경우가 대부분이었다. 이 부분에 대해서는 초보 개발자는 충분히 고생할 여지가 있다고 생각했다. 그래서 C#을 visual studio 환경에서 사용하며 많이 사용되는 library를 설치할 때, 확인 점을 정리해 보았다.

 

1. C#은 .NET framework와 기본적으로 함께함 : 내가 개발하는 환경의 버전을 확인

 C#의 버전에 대한 것을 찾아보면 이 visual studio의 버전이 지원하는 C#의 버전 그리고 .NET framework 버전을 함께 확인할 수 있다. csharpstudy라는 웹페이지를 참고해보자.

.NET 과 C# 버전을 함께 확인할 수 있다 (원문 : http://www.csharpstudy.com/CSharp/CSharp-version.aspx)

 

 이와 같이 C#과 .NET 그리고 visual studio의 버전이 함께 표기되며 같이 고려해야 함을 알 수 있다. 여기서 필자가 개발하는 환경인 Visual studio는 2012 버전이며 따라서 .NET framework와 C# 5.0이 사용할 수 있는 가장 높은 버전임을 알 수 있다.

 

2. 내가 사용하고자 하는 third-party library의 호환성을 확인 : 여러 버전의 호환성을 확인

 필자는 helix toolkit라는 library를 사용하기 위해서 설치를 하다가 이 글을 정리하고 있다. 따라서 helix toolkit을 예시로 어떻게 확인할 수 있는지 알아보자. 먼저 그냥 helix toolkit을 Nuget package manager로 설치해보겠다. 아래의 그림과 같이 설치되지 않으며 에러 사항을 확인할 수 있다.

녹색 박스로 된 부분은 '.NETFramework,Version=v4.5'을(를) 대상...' 이라는 에러 메세지가 보인다.

 

 이 에러 메세지는 helix toolkit의 가장 최신 버전인 2.11.0은 .NET framework 4.5에서 설치할 수 없다는 의미이다. 자료를 찾아보면 helix toolkit의 가장 최신 버전은 .NET framework 4.5.2 이상에서만 설치가 가능한 것으로 확인했다. 또 여기서 helix toolkit의 release notes들을 보면 꽤나 많은 버전들을 확인할 수 있다. 

크게 2.x.x와 1.x.x로 나뉘어지는 것을 볼 수 있다 (원문 : https://www.nuget.org/packages/HelixToolkit.Wpf/1.1.0)

 

 여기서 1.x.x 버전은 .NET framework 4.5를 지원함을 release notes 세부내용에서 찾아볼 수 있다. 그렇다면 Nuget package manager로 version 1.1.0을 설치해본다면 내가 개발하는 환경에서 이 library를 사용할 수 있을 것이다. 아래의 그림은 1.1.0의 helix toolkit을 설치해본 것이다. 설치가 가능한 것을 확인할 수 있고, 동시에 설치가 되어 있는 것을 솔루션 탐색기의 참조 부분으로부터 확인할 수도 있다.

깔끔하게 에러 없이 설치되는 것을 확인할 수 있다. 또한 참조에서 설치된 helix toolkit을 확인할 수 있다.

 

마무리와 요약

 필자는 이러한 과정을 거쳐 third-party library를 설치하여 사용하고 있다. 전임자분에게 받은 .dll이 직접 비슷한 이름으로 만들어 낸 것이라고 생각했으나 사실은 먼 과거에 설치하고 document를 보며 개발을 한 것 같다. 요약하면 아래와 같다.

  • 내가 사용하는 C#, .NET framework, visual studio 버전을 확인하고 어느 부분까지 사용 가능한지 다시 확인할 것
  • 사용하고자 하는 third-party library가 필요로 하는 C#과 .NET framework 등등을 확인할 것
  • 이때 최신 버전이 지원할 수 없는 개발환경이라면 document와 release notes 등을 참고하여 낮은 버전을 테스트하여 사용해볼 것

 

 

 

반응형