2010-03-17 4 views
151

이 DLL은 Visual Studio 2010 프로젝트에 기본적으로 추가됩니다. 이 새로운 어셈블리는 무엇을 위해 사용됩니까? Reflector를 사용하여 보았을 때 많은 것을 담고있는 것 같지 않습니다. Google은 그것에 대해 말할 것도별로 없습니다..NET 4.0의 Microsoft.csharp.dll은 무엇입니까?

답변

174

프로젝트에서 dynamic keyword을 사용하는 경우/때 사용됩니다. 어셈블리에는 C# 런타임 바인더가 포함되어 있습니다.

C# 컴파일러는 기본적으로 dynamic 키워드를 지원하는 데 필요한 코드를 생성, 컴파일 및 실행할 수 있도록 라이브러리로 추출되었습니다. 코드에서 처음으로 dynamic을 사용하면이 어셈블리 (System.dll, System.Core.dll 및 System.Dynamic.dll)가 AppDomain에로드됩니다.

+2

그들이 왜 기본적으로 참조하도록 선택했는지 추측 하시겠습니까? 우리 모두가 현재보다 더 '동적 인'것을 많이 사용해야합니까? –

+4

@mo 그들은 모든 파일에'using System.Linq;'를 자동으로 추가하는 것과 비슷합니다. 새로운 언어 기능을 좀 더 원활하게 만들어줍니다. 'dynamic'을 사용하고 싶다면, 여러분의 노력에 아무런 도움이되지 않을 것입니다. –

12

지금까지는 항상 제거했습니다. 아직 문제는 없습니다.

+13

프로젝트에서 dynamic 키워드를 사용하지 않으면 .csproj 파일에서''라는 줄을 지우면됩니다. – Cheeso

+0

TomTom 및 @Cheeso에게 감사드립니다. 유니티와 함께 ​​사용하기 위해 .dll (3.5로 설정된 프레임 워크)을 만들고, .csproj 파일에서 그것을 제거하려고 시도했다. – Wolfram

+0

이 "대답"은 질문 아래의 설명으로 더 적합합니다. 해결 방법을 제시하는 반면 실제로 새 어셈블리가 무엇인지에 대한 질문에는 대답하지 않습니다. – toonice

관련 문제